JavaScript · 单选题 · 第 12 题
前端与全栈开发面试 · 第 12 题
关于箭头函数中的 this,下列说法正确的是?
- A箭头函数的 this 总是指向调用它的那个对象,和普通函数作为方法调用时的规则一样
- B箭头函数的 this 永远指向全局对象,在浏览器里就是 window,严格模式下也完全一样
- C箭头函数没有自己的 this,沿用外层作用域的 this,call、apply、bind 都改不了
- D箭头函数的 this 可以通过 bind 永久绑定到指定对象上,之后再调用也不会改变
答案
C C. 箭头函数没有自己的 this,沿用外层作用域的 this,call、apply、bind 都改不了
解析
箭头函数的 this 是词法绑定的,取决于它写在哪里,而不是怎么被调用。所以它适合用作回调来保留外层的 this,但不适合作为对象方法或构造函数,也不能被 new 调用。它同样没有自己的 arguments。