箭头函数相对于普通函数有哪些区别
时间: 2024-06-03 11:12:25 浏览: 69
箭头函数相对于普通函数有以下几个区别:
1. 箭头函数没有自己的 this,它的 this 是继承自父级作用域的。这意味着箭头函数中的 this 始终指向定义函数时的 this,而不是调用时的 this。
2. 箭头函数没有自己的 arguments 对象,它的 arguments 对象同样是继承自父级作用域的。
3. 箭头函数不能作为构造函数使用,因为它没有自己的 this。
4. 箭头函数没有自己的 prototype 属性,因为它不能用作构造函数。
5. 箭头函数不能使用 yield 关键字,因此不能用于 Iterator。
6. 箭头函数的语法比普通函数更简洁,可以让代码更易读、易写。
相关问题
箭头函数与普通函数有哪些区别
箭头函数和普通函数的主要区别如下:
1. 箭头函数没有自己的this,指向的是定义时所在的作用域中的this,而普通函数的this则指向函数被调用时的对象;
2. 箭头函数不能使用arguments对象获取函数的实参,需要使用剩余参数(rest parameters)代替;
3. 箭头函数没有自己的arguments对象和super关键字,不能用作构造函数;
4. 箭头函数不能使用new关键字调用,因为缺少了新创建的对象,this也无法绑定;
5. 箭头函数不能作为Generator函数,不能使用yield关键字。
因此,箭头函数通常用于对于this绑定比较简单的场合,而普通函数则更灵活。
js箭头函数与普通函数有什么区别
箭头函数和普通函数在语法和功能上有一些区别。首先,箭头函数是匿名函数的简化形式,可以省略函数定义的一些部分。其次,箭头函数和普通函数在使用时有一些差异。
1. 箭头函数不能作为构造函数使用,而普通函数可以被实例化为对象。
2. 箭头函数没有自己的this关键字,它的this是继承自上下文环境。而普通函数的this关键字指向调用函数的对象或undefined(在严格模式下)。
3. 箭头函数没有arguments关键字,它不具备普通函数的参数对象。而普通函数可以通过arguments访问所有传入的参数。
4. 箭头函数不能使用super关键字,它无法访问其父类的属性或方法。而普通函数可以使用super关键字来引用父类的属性或方法。
5. 箭头函数不能被用作Generator函数,它不能使用yield关键字。而普通函数可以被用作Generator函数,并且可以使用yield关键字返回多个值。
综上所述,箭头函数和普通函数在语法和功能上有一些差异,主要体现在构造函数的使用、this关键字的指向、参数对象的访问、super关键字的使用和Generator函数的支持等方面。
阅读全文