ES6知识点

 let/var
         相同点:在全局声明的变量是全局变量,在局部声明的变量是局部变量
         不同点:1、let声明的变量不能重复声明
                2、let声明的变量不能提升
                3、let声明的变量只在当前块作用域中有效
                4、let声明的变量产生暂时性死区,只在当前块作用域中找
    const: 1、const声明的变量是常量,不能改变
           2、const声明的变量必须赋初值
        //    与let一样
           3、const声明的变量不能重复声明
           4、const声明的变量不能提升
           5、const声明的变量只在当前块作用域中有效
           6、const声明的变量产生暂时性死区,只在当前块作用域中查找

什么是解构赋值:将数组中的元素,字符串中的字符,对象中的属性分解成一个个的变量


对象的解构赋值,变量名必须和属性名保持一致


**解构赋值的作用:**1.交换两个变量

​ 2.函数返回值可以返回多个变量

​ 3.解决形参undefined的问题


**字符串的用法**1**模版字符串  (表达式  函数的调用  变量)**2**repeat( )函数:将目标字符串重复N次,返回一个新的字符串,不影响目标字符串。****3、includes()函数:判断字符串中是否含有指定的子字符串,返回true表示含有和false表示未含有。第二个参数从索引开始查找**4**startsWith( )函数:判断指定的子字符串是否出现在目标字符串的开头位置**5**endsWith( )函数:判断子字符串是否出现在目标字符串的尾部位置****String.raw函数  (了解 模板字符串)**

**数组的用法:**1**Array.of函数  函数作用:将一组值,转换成数组。**2**Array.from函数 函数作用:可以将类似数组的对象或者可遍历的对象转换成真正的数组。****深拷贝  传值****3、find函数  函数作用:找出数组中符合条件的第一个元素。**4**findIndex函数  函数作用:返回符合条件的第一个数组成员的索引。**5**fill函数 函数作用:用指定的值,填充到数组。会改变原数组**6**entries函数 函数作用:对数组的键值对进行遍历,返回一个遍历器,可以用for..of对其进行遍历。**7**keys函数 函数作用:对数组的索引键进行遍历,返回一个遍历器。**8**values函数 作用:对数组的元素进行遍历,返回一个遍历器。**

**数字类型的用法:**1**Number.isNaN函数:用于判断传入的是否是非数值,(NaN)(不会隐式类型转换)**2**Number.isFinite函数:用来检查一个数值是否非无穷。(有限的)  有限的  返回true(不会隐式类型转换)**3**Number.parseInt函数  parseInt函数:解析一个字符串,返回一个整数。**4**Number.isInteger函数:用来判断是否是整数。(不会隐式类型转换)**5**Math.trunc函数:用于去除一个数的小数部分,返回整数部分。**6**Math.sign函数:用来判断一个数到底是正数 1、负数  -1、还是零 0**

对象的使用:

1、如果对象的属性名和变量名一样,可以省略对象的属性值。
       2、可以省略:function(在对象函数中)
       3、表达式可以作为对象的属性名

1.Object.assign(目标对象,源对象,源对象)函数 函数作用:将源对象的属性赋值到目标对象上。(会覆盖)

2、Object.is函数 函数的作用:比较两个值是否严格相等,或者说全等 ===

3、Object.getPrototypeOf函数 函数作用:获取一个对象的prototype属性。

4、Object.setPrototypeOf(实例化对象,{})函数 函数作用:设置一个对象的prototype属性。


**参数的默认值(也可以解决形参undefined):**1、解构赋值

​ 2、逻辑运算符 (重点)

​ 3、赋初值


rest参数,这是一个新的概念,rest的中文意思是:剩下的部分。


**扩展运算符: …数组/对象 可以:**1、遍历数组

​ 2、当做数组中的元素

​ **3、深拷贝 **

4、函数的调用

5、与解构赋值结合

6、转换成真正的数组

​ 7、对象 扩展运算符


箭头函数的用法:将function去掉,在()后面加上=>

箭头函数的特点:

1、箭头函数只有一个参数可以省略小括号
          2、在函数体中只有return返回语句,return和{}可以省略
          3、箭头函数没有内置对象arguments
          4、箭头函数不能写构造函数
          5、箭头函数没有原型属性 prototype
          6、箭头函数call,apply方法可以进行调用,不会改变this指向
          7、箭头函数this指向父作用域(定义它的地方)

Symbol的初衷:解决对象的属性名冲突。

4、Object.getOwnPropertySymbols函数 获取对象中Symbol属性名

5、Reflect.ownKeys函数 获取所有的属性

6、Object.keys() Object.values() 获取对象中除了Symbol的属性

7、Symbol.for函数 函数作用:根据参数名,去全局环境中搜索是否有以该symbol.for()参数为名的symbol值,有就返回它,没有就以该参数名来创建一个新的symbol值。


proxy()的作用:

1.代理

2.解决跨域问题


中介 new Proxy(target,handler)

target:要拦截的目标对象

handler:定制拦截的行为(方法)(函数) 也是一个对象


1.for循环 弊端:代码不简洁

2.foreach 弊端:不能终端循环

3.for…in 弊端:索引是字符串类型

for…of特点:

1.代码简洁

2.终端循环

3.索引是number类型

4.索引和值可以分开遍历

可遍历的对象:for…of可以遍历的数据类型,数组,伪数组,字符串,Set, Map.


一、for…of为什么不能遍历对象

因为对象的构造函数中没有Symbol类型的属性 Symbol.iterator


iterator遍历器(迭代器)原理:当可遍历对象被for…of遍历的时候,Symbol.iterator就会被调用,返回一个iterator对象。


三、for…of遍历的原理:

当可遍历对象被for…of遍历的时候,Symbol.iterator就会被调用,返回一个iterator对象,

iterator里面的next()方法一直被调用,返回一个对象,里面有value,done属性,

直到done属性的属性值变成true,结束循环


generator函数的作用:异步操作

1、声明Generator函数: function

2、调用 先产生一个iterator遍历器对象,里面有一个next()方法,进行调用在返回一个对象有value done value是yield后面的值


return yield区别

return 结束执行 后面的语句不会执行,是函数的返回值

yield 暂停执行 调用next()方法就会继续执行

next( )方法还可以接受一个参数,它的参数会作为上一个yield的返回值

我们想调用另一个Generator函数,就需要用到的关键字是:yield

类的作用: 生成一个对象,可以被继承

默认有一个构造方法 this指向实例化对象

自定义方法 this指向实例化对象

静态方法 实例化对象不能调用 需要用类调用,this指向当前类

ES6使用extends关键字来实现子类继承父类,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红色波浪号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值