-
箭头函数是匿名函数,不能作为构造函数,不能使用new
let a = () => { console.log(1) } a() new a() // TypeError: a is not a constructor -
箭头函数不绑定arguments(用于指向调用者传入的所有参数),取而代之用rest参数...解决
function A(a, b, c, d) { console.log(arguments); // [1, 2, 3, 4, callee: ƒ, Symbol(Symbol.iterator): ƒ] } A(1, 2, 3, 4) let B = (...r) => { console.log(r); // [5, 6, 7] } B(5, 6, 7) -
this的作用域不同
var obj = { name: 'HS', sayName: function () { console.log(this.name); } } var name = 'Window'; var obj1 = { name: 'HH', sayName: () => { console.log(this.name); } } obj.sayName(); // HS obj1.sayName(); // Window -
箭头函数没有原型属性
var a = () => { return 1; } function b() { return 2; } console.log(a.prototype); // undefined console.log(b.prototype); // {constructor: ƒ}
普通函数和箭头函数的区别
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。就是这种我们日常开发...