-
1、模板字符串
${}引入变量 -
2、let:解决var的问题:a.会被声明提前,打乱执行顺序;b.没有块级作用域,影响外部变量
-
3、箭头函数:没有this,没有arguments,没有prototype,不能new,可以用5中的剩余参数
-
4、for...of:可以遍历数字下标的东西,类数组都可以,而forEach不行;下标为字符串,选for..in
-
5、参数增强:参数默认值、剩余参数rest、展开运算符
-
6、解构赋值
- 7、class语法糖:
- 如何改造理解:
- 用class{}包裹原构造函数+原型对象方法
- 原构造函数名升级为整个class的名字,所有构造函数统一更名为"constructor“
- 原型对象中的方法,不用再加prototype前缀,也不用=function,直接简写为: 方法名(){ ... ...}
- 方法定义:直接放在class{}内的方法定义,其实还是保存在原型对象中的。
- static静态属性:保存在构造函数对象身上,不会重复!
- 继承:
- 继承prototype属性(只有方法):class 子类型 extends 父类型{ ... }
- 继承属性(调用构造函数):super()
- 如何改造理解:
- 8、很难的一道题:
(() => {
{
function f() { 'a' }
f = 1
f = 2
function f() { 'b' }
f = 3
}
console.log('f=', f) // f=2
})()
- 9、React中的事件绑定与箭头函数
- React 在为 DOM 绑定事件时会为其屏蔽 addEventListener 修改 this 的操作,在这个过程中也将函数的调用的方式从方法变成了非方法的形式,所以this 发生了改变。解决方案:1.利用箭头函数闭包this。2.使用bind 强绑 this。