admin 管理员组

文章数量: 887021


2023年12月17日发(作者:material是什么意思中文)

箭头函数的注意事项

箭头函数是ES6中新增的一种函数声明方式,它具有简洁的语法和更方便的this绑定机制。但是在使用箭头函数时,也需要注意一些事项,以避免出现错误或不符合预期的情况。

1.不能使用箭头函数作为构造函数:

箭头函数没有自己的this,不能使用new关键字调用,并且没有prototype属性。因此,箭头函数不能作为构造函数使用创建对象实例。

2. this绑定:

箭头函数没有自己的this绑定,而是继承自父级作用域的this。这意味着,在箭头函数中,无法通过this访问到函数自身或调用者的引用。箭头函数的this绑定在其定义时就已经确定,并且无法通过bind、call、apply等方式进行修改。

3. arguments对象:

箭头函数没有自己的arguments对象,它继承自父级作用域的arguments对象。箭头函数中使用的arguments实际上是外层函数的arguments对象,而不是当前箭头函数的。

4. 不绑定自己的super:

箭头函数没有自己的super绑定,也不能通过super调用父类的构造函数。因为箭头函数没有自己的this,所以也无法通过super关键字来获取父类的上下文。

5.没有原型:

箭头函数没有原型属性,无法使用箭头函数创建的实例来调用原型链上的方法。

6. 不能用作generator函数:

箭头函数不能用作generator函数,无法使用yield关键字暂停执行和恢复执行。

7. 没有:

箭头函数没有自己的,这是一个用于检查函数是否通过new关键字进行调用的元属性。

8. 无法改变this的绑定:

由于箭头函数没有自己的this绑定,无法通过函数调用的方式改变this的值。不管是使用call、apply还是bind方法,都无法改变箭头函数内部的this绑定。

9. 没有:

箭头函数没有自己的属性,指向当前正在执行的函数自身。由于箭头函数没有自己的this和arguments对象,所以也不具备属性。

10.不能用作命名函数表达式:

由于箭头函数表达式没有自己的名称,所以不能通过函数名来调用或递归调用自身。

总结来说,使用箭头函数时需要注意以下几点:

-箭头函数不能作为构造函数使用。

- 箭头函数没有自己的this,this继承自父级作用域。

- 箭头函数没有自己的arguments对象,arguments对象继承自父级作用域。

- 箭头函数没有自己的super绑定,也不能使用super调用父类的构造函数。

-箭头函数没有原型属性,无法调用原型链上的方法。

- 箭头函数无法用作generator函数,无法使用yield关键字。

- 箭头函数没有自己的,无法检查函数是否通过new关键字调用。

- 箭头函数无法改变this的绑定,也无法通过bind、call、apply等方法修改this的值。

- 箭头函数没有属性,也不能通过名称来递归调用自身。


本文标签: 函数 箭头 没有 无法 使用