一、箭头函数
ES6 中函数式声明方式被箭头函数 => 取代
箭头函数:使用 => 定义函数
参数 => 函数体
1、有参数时,需要使用()
2、当箭头函数要返回对象时,为了区分于代码块,要用 () 将对象包裹起来
3、当箭头函数函数体有多行语句,用 {} 包裹起来,表示代码块,当只有一行语句,并且需要返回结果时,可以省略 {} , 结果会自动返回
注:没有 this、super、arguments 和 new.target 绑定
使用箭头函数注意:
1、箭头函数不适用于声明函数
2、箭头函数不适用于DOM事件
3、箭头函数不能作为构造函数(迭代器)
4、箭头函数内不能使用arguments,该对象在函数体内不存在
5、不能使用yield命令,因此箭头函数不能用作 Generator 函数
二、箭头函数this指向
1、箭头函数作用域某一个对象时,this指向父级
2、ES5中,this指调用者,ES6中,this指定义时候绑定
3、不能用call()、apply()、bind()这些方法去改变this的指向
4、不可以作为构造函数,也就是不能使用 new 命令,否则会抛出一个错误
三、Symbel
Symbel是JavaScript 语言的第七种数据类型,前六种是:undefined、null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)
1、Symbol 函数前不能使用 new 命令,否则会报错
2、Symbol 函数可以接受一个字符串作为参数
3、Symbol 值作为对象属性名时,不能用点运算符
4、Symbol 函数的参数只是表示对当前 Symbol 值的描述,因此相同参数的Symbol函数的返回值是不相等的
5、Symbol 值不能与其他类型的值进行运算,会报错
(注:Symbol 值可以转为字符串,也可以转为布尔值,但是不能转为数值)