我正在查看这个this page关于ES6中用于声明对象内部方法的各种简写语法。
我不理解这两种形式之间的差异:
var foo = {
a() {},
b() {}
};
和
var foo = {
x: (y) => y
};
这篇文章似乎明确区分了这两种格式,但第一种格式真的只是第二种吗?如果我们想要包含参数,我们只需要在第一个参数中进行a(y) {}
。
答案 0 :(得分:3)
但第一个真的不是第二个吗?
没有。方法语法更类似于使用函数表达式:
var foo = {
a: function() {},
};
如果您指定了箭头功能,那么您将无法通过this
访问该对象。
当然,空函数(function() {}
)与身份函数(function(x) { return x; }
)不同。
另见