方法的 ES6 对象字面量语法
ES6 Object Literal Syntax for Methods
我正在查看这个 this page 关于 ES6 中用于在对象内部声明方法的各种 shorthand 语法的内容。
我不明白这两种形式之间的区别:
var foo = {
a() {},
b() {}
};
和
var foo = {
x: (y) => y
};
文章好像把这两种格式区分得很清楚了,但是第一种不就真的变成第二种了吗?如果我们想包含参数,我们只需在第一个参数中执行 a(y) {}
。
but doesn't the first one really just become the second?
没有。方法语法更等同于使用 函数表达式 :
var foo = {
a: function() {},
};
如果您分配 箭头函数,那么您将无法通过 this
.
访问该对象
当然,空函数 (function() {}
) 与 恒等函数 (function(x) { return x; }
).
另见
我正在查看这个 this page 关于 ES6 中用于在对象内部声明方法的各种 shorthand 语法的内容。
我不明白这两种形式之间的区别:
var foo = {
a() {},
b() {}
};
和
var foo = {
x: (y) => y
};
文章好像把这两种格式区分得很清楚了,但是第一种不就真的变成第二种了吗?如果我们想包含参数,我们只需在第一个参数中执行 a(y) {}
。
but doesn't the first one really just become the second?
没有。方法语法更等同于使用 函数表达式 :
var foo = {
a: function() {},
};
如果您分配 箭头函数,那么您将无法通过 this
.
当然,空函数 (function() {}
) 与 恒等函数 (function(x) { return x; }
).
另见