箭头函数需要注意的地方

简介: 箭头函数需要注意的地方
 
箭头函数有几个使用注意点。
(1)函数体内的 this 对象,就是定义时所在的对象,而不是使用时所在的对象。
(2)不可以当作构造函数,也就是说,不可以使用 new 命令,否则会抛出一个错误。
(3)不可以使用 arguments 对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。
(4)不可以使用 yield 命令,因此箭头函数不能用作 Generator 函数。



上面四点中,第一点尤其值得注意。this 对象的指向是可变的,但是在箭头函数中,它是固定的。

function foo() {
    setTimeout(() => {
        console.log("id:", this.id);
    }, 100);
}
 
var id = 21;
 
foo.call({
    id: 42
});
// id: 42
相关文章
|
8月前
|
自然语言处理 JavaScript 前端开发
说说箭头函数的特点
说说箭头函数的特点
87 0
|
8月前
|
开发者
箭头函数
认识箭头函数
70 4
|
8月前
箭头函数是什么
箭头函数是什么
63 0
|
8月前
|
JavaScript 前端开发 开发者
箭头函数的意义和函数的二义性
这篇文章介绍了箭头函数的特点以及与普通函数的区别。它指出了箭头函数没有this、arguments对象和prototype原型的特点,因此不能作为构造函数使用。文章还解释了函数的二义性问题,即函数可以有多种调用方式,这在JS设计上存在缺陷。最后,文章指出箭头函数不再依赖面向对象的概念,因此没有this和原型的概念。
|
8月前
|
自然语言处理
解释一下箭头函数的this绑定行为。
箭头函数的`this`绑定遵循词法作用域,不同于普通函数的动态绑定。它在定义时即确定,不受调用方式影响。这解决了`this`丢失问题,提供了更简洁的语法。例如,当在一个对象中,箭头函数的`this`将指向全局对象或父级作用域,而不是对象本身,与普通函数表现不同,使用时需谨慎。
45 8
面试官:箭头函数和普通函数的区别?箭头函数的this指向哪里?(二)
面试官:箭头函数和普通函数的区别?箭头函数的this指向哪里?(二)
|
8月前
|
JavaScript 网络架构
箭头函数详解
箭头函数详解
41 1
普通函数中的this指向问题解决方案箭头函数
普通函数中的this指向问题解决方案箭头函数
52 0
|
JavaScript 前端开发
箭头函数与this指向探究
箭头函数与this指向探究
42 1
|
JavaScript
什么是箭头函数
什么是箭头函数
82 1

热门文章

最新文章