Oll*_*lie 5 javascript ecmascript-6
我有一个JavaScript对象:
var methods = {
classStyle() {
console.log('Class style function');
},
traditionalStyle: function() {
console.log('Traditional style function');
},
arrowStyle: () => {
console.log('Arrow style function');
}
};
methods.classStyle();
methods.traditionalStyle();
methods.arrowStyle();
Run Code Online (Sandbox Code Playgroud)
输出如预期:
(index):70 Class style function
(index):74 Traditional style function
(index):78 Arrow style function
Run Code Online (Sandbox Code Playgroud)
我的问题是:
"类样式函数"(简写方法)与常规函数非常相似.唯一的区别是它不能用作构造函数(即调用new),因此它没有prototype属性.至于箭头函数,请参阅箭头函数与函数声明/表达式:它们是等效/可交换的吗?.简而言之,箭头功能不绑定自己的this和arguments,并且不能与使用new.
这取决于个人喜好吗?或者内部运作会改变吗?
在ES6 +中,没有理由在对象中使用传统的函数语法,因为简写方法语法更简单,更安全,因为如果您不小心尝试使用方法作为构造函数,则会出现错误.对于箭头函数,只有在不需要使用对象时才能使用它们this.
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |