阅读 52

ES6 知识点汇总

ES6的解构,讲讲应用场景

image.png

image.png

image.png

await 和 promise的区别

image.png

ES6 的继承和 ES5 的区别

ES6 的class可以看作只是一个ES5生成实例对象的构造函数的语法糖。它参考了java语言,定义了一个类的概念,让对象原型写法更加清晰,对象实例化更像是一种面向对象编程。Class类可以通过extends实现继承。它和ES5构造函数的不同点: 类的内部定义的所有方法,都是不可枚举的。 2.ES6的class类必须用new命令操作,而ES5的构造函数不用new也可以执行。 3.ES6的class类不存在变量提升,必须先定义class之后才能实例化,不像ES5中可以将构造函数写在实例化之后。 4.ES5 的继承,实质是先创造子类的实例对象this,然后再将父类的方法添加到this上面。ES6 的继承机制完全不同,实质是先将父类实例对象的属性和方法,加到this上面(所以必须先调用super方法),然后再用子类的构造函数修改this。

CommonJS 和 ESM 的区别

image.png

Es6 数组方法,哪些是会改变原数组

image.png

image.png

image.png

箭头函数有什么特性

  • 箭头函数的this指向永远是外层函数的this
  • 由于this指向的问题,箭头函数不能做构造函数
  • 箭头函数中没有定义arguments关键字,会解析到外层函数的arguments,想获取箭头函数的参数可以用ES6的剩余参数(…操作符)特性
  • 如果箭头函数只包含一个表达式,那么就可以省略函数体的花括号和return语句,并且这个表达式会被当作返回值
  • 箭头函数作为类成员方法,箭头函数里的this直接指向类的实例对象,不需要手动绑定this指向

blog.csdn.net/qq_39200185…

箭头函数为什么没有this

  • 因为箭头函数没有自己的作用域。所以箭头函数的this会和调用者共享一个作用域
  • 箭头函数内部的 this 会在编译的时候被 变量替代

map和foreach的区别

相同点:

  • 都是循环遍历数组中的每一项
  • 每次执行匿名函数都支持三个参数,参数分别为item(当前每一项),index(索引值),arr(原数组)
  • 匿名函数中的this都是指向window
  • 只能遍历数组

不同点

  • map()会分配内存空间存储新数组并返回,forEach()不会返回数据
  • forEach()允许callback更改原始数组的元素。map()返回新的数组

应用场景

image.png

image.png

www.jianshu.com/p/6146bf9c6…

es6.ruanyifeng.com/#docs/destr…

www.cnblogs.com/zhengyan/p/…

文章分类
前端
文章标签