在构造函数里用箭头函数定义方法有什么优势?
What advantage is there for using the arrow syntax for a method in a constructor?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: hard
分类: javascript-fundamentals
标签: Arrow Function, this, Memory
参考答案摘要
答案 优势在于 `this` 在函数创建时就被词法绑定,之后无法被 `.call/.apply/.bind` 改写;因此把方法传来传去也不容易丢失上下文。 对比普通函数方法:普通函数的 this 取决于调用方式,被抽离为变量/回调后可能变成 window/undefined;箭头函数可避免这类问题。 注意:把方法定义在实例上(构造函数里)会导致每个实例都创建一份函数,可能带来内存开销;如果不需要词...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。