ES针对性总结:箭头函数、展开运算符(...)、模块化语法、什么是原型链

53 阅读1分钟

箭头函数

  1. 函数内部没有arguments

    • 什么是arguments?

      1. 函数内部的一个伪数组,不可以使用方法。

      2. 可以省略形参。function() { console.log(arguments) }

      3. 可以转换成真数组。

        Array.from(arguments) / [...arguments]

  2. this指向父级作用域

  3. 不能用于构造对象

这是箭头函数的主要特点,更多小知识点比较容易理解,在这里当作常识即可0_0

展开运算符的作用(...)

  1. 复制数组、对象
  2. 合并数组、对象(同名会覆盖)
  3. 可以作为实参和形参
  4. 伪数组的转换

模块化语法

  1. export
  2. module
  3. import
  4. as

说一下原型链

  • 什么是原型链

    1. 用于描述对象之间的继承关系

    2. 在JS中,每一个对象(obj)都有一个隐藏的内置属性 __proto__ ,可以连接这个对象的原型对象(Func)的原生属性 prototype 。(原型对象可以是对象、函数、构造函数等,因为JS一切皆对象,都有 prototype 属性,可以把这条原型链连接起来)

    3. 连接这条链:

      obj.__proto__ === Func.prototype // true
      
    4. 如果这个对象中的属性或方法没有在自身中找到,就会沿着原型链向上查找,直到原型链的顶层为止

    5. 原型链的顶层是:最高一层的那个原型对象 TopObj () {},也可以说是 ( TopObj.__proto__ 为)null。——这就是原型链

  • 原型链有什么特点

    1. 对象可以继承原型对象的属性和方法
    2. 原型对象也具有原型
    3. 修改原型对象就会影响继承它的所有实例