关于ES6新特性最常用的知识点汇总

2022-04-15 0 1,045
目录
  • 1.关键字
  • 2.解构
  • 3.字符串
  • 4.正则
  • 5.数组
  • 6.函数
  • 7.对象
  • 8.Symbol
  • 9.集合
  • 10.Proxy配合Reflect的观察者模式
  • 11. Promise
  • 12.遍历器
  • 13.Generator
  • 14.async
  • 15.Class
  • 16.修饰器
  • 17.Moudle
  • 总结

1.关键字

Let 关键字 在let所在的代码块中起作用。在let之前对于改该变量是不能进行赋值的

Const关键字  为只读变量,因此在定义的时候就需要去赋值。

2.解构

变量的解构,

     1>.数组结构利用[],对数组局部可以进行赋值

    例如:

         Let [a,,c]=[1,,3]

    Let[a,…c]这里c可以当作一个数组进行赋值

 2>.对象结构利用{},对对象进行解构,与数组类似,不同的是,多了一个属性的问题,最重要的是对象属性没有次序,而是按照次序来的。

3.字符串

     1>. 利用for of 可以对字符串进行每一个字符进行遍历。

     2>. 对于判断是否含有字符为:include startswith endwith

     3>. Padstart。。。等等替换补全的函数

     4>.字符串模板,可以在字符串里面${变量}来加上变量。也可以加上html的标签

     5>.数值大多是对函数的运行,判断是否为数字,类型转换等

4.正则

1>.两种用法

 One:Regex r=new Regex(‘匹配规则’,’修饰’)

Two:Regex r=/匹配的东西/修饰

     Regex 其中 I g y为修饰符

2>.sticky属性 是否有修饰符

   Flags 返回匹配修饰符

3>.支持为后行断言

5.数组

1>.可以用const […a2]=a1直接进行赋值,两个变量互换也是可以的

2>.利用[]可以进行多个数组合并

3>.与结解构相结合

例如:

[a,…rest]=list  list为数组

6.函数

1>.参数默认值的使用,不能有同名参数

2>.参数传值为惰性求值,就是每次会重新计算默认值

3>.依旧可以使用解构进行函数赋值,(个人认为类似于对象解构)

7.对象

     在es6中的对象使用类似于C语言中最开始的struct类型,但有区别的是,在es6中对象内部可以使用方法

例如:         

Const person={

  Name:wl;

Birth,

CalTime(){console.log(“”);}

8.Symbol

1>.相当于多出来的一种定义的关键字,防止定义的变量不小心被改写和覆盖。

2>.主要作用在于消除魔术字符串(个人理解:就是一堆字符串直接出来的,改成变量,提高代码阅读性吧)

9.集合

    1>.个人理解:有点类似java、C#中的集合。只不过因为es6的特性,有一些不同的函数实现复杂的操作。Set可以转变为数组,进行一些解构操作。

         在这里多了一种加上前缀weak的集合,(这个就是临时堆放东西的地方,说没就没,因此也不能遍历)

10.Proxy配合Reflect的观察者模式

    Proxy为拦截操作,Reflect就是反射操作,读取变量进行修改。

Proxy监测发生改变,进行拦截操作,reflect进行取值更改,实现最简单的观察模式

11. Promise

       为构造函数,可以回调两个函数。(个人理解:对于有两种结果的情况更为使用,出现不同的情况调用不同的函数进行使用)

 ArrayBuffer也是一种构造器,利用多种函数操作,个人感觉为了规范数组。

12.遍历器

       遍历器模拟next,进行指针的移动,直到结束。在es6中跟我之前用的C,C++这些语言不同的是,他到结束了,会输出undefined,不会直接崩掉程序。   

  next: function() {

         return nextIndex < array.length ?

        {value: array[nextIndex++], done: false} :

        {value: undefined, done: true};//不断增加nextIndex,就是让下标自加操作。

13.Generator

   本质为记录函数内部状态,异步操作,个人感觉应该在多线程中应用较多。单线程没有想到应用的价值。本质上使用yield进行暂缓操作,可以不用yield,直接用*将函数变成暂缓执行的函数。

14.async

本质上来说是Generator的一种改进操作,他不采用yield进行暂缓操作,而是使用await进行该操作。但他与Geneator有所区别,在于返回的不同,Geneator返回遍历器,他返回的是Promise对象

15.Class

  他对于原本的js语言来说,类的操作,将很多东西进行了封装,有一定的模板,为了更好的进行阅读理解,加上继承,也减少了重复代码的书写。并且模式为严格模式,对于语言的规范性更高。跟面向对象语言中的class有些类似。

16.修饰器

这种写法类似于java的注解,但是方式却又所不同。个人理解java的注解是为了代码的规法并且易于修改。但在es6中,修饰器本质就是编译时执行的函数。

17.Moudle

将一些静态编译的东西模块化,减少重复编写吧,就类似python引入多种库那样,什么东西引入一些库,编写就相对不复杂。

  import { stat, exists, readFile } from 'fs';//引入

export {firstName, lastName, year};//输出

总结

到此这篇关于ES6新特性最常用的知识点汇总的文章就介绍到这了,更多相关ES6新特性知识点内容请搜索NICE源码以前的文章或继续浏览下面的相关文章希望大家以后多多支持NICE源码!

免责声明:
1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

NICE源码网 JavaScript 关于ES6新特性最常用的知识点汇总 https://www.niceym.com/19279.html