假设我有一个方法的对象文字:
const testObj = {
method: function() {
console.log('declaration');
}
}
与另一种方式定义的metod相同的对象:
const testObj = {
method() {
console.log('declaration');
}
}
上面两个例子中定义方法字段的区别是什么?我知道函数提升和函数声明可以在它们出现在代码中之前使用,但是当将函数定义为对象字段时,它似乎并不重要。
答案 0 :(得分:2)
根据MDN
,实际上没有区别从ECMAScript 2015开始,这是方法定义的更短语法 on objects初始化器的介绍。这是一个简写 分配给方法名称的函数。
答案 1 :(得分:0)
没有区别。后者只是编写相同内容的简写语法。
例如,在CSS中,您可以为每个角分别指定不同的边框半径:writeFile
。简写如下:border-top-radius: 5px
。
查看MDN上的this页面,了解有关方法功能的更多信息。
编辑:修正了拼写错误。
答案 2 :(得分:0)
两者之间没有区别。一个只是另一个的简写。来自the docs:
从ECMAScript 2015开始,这是方法定义的更短语法 on objects初始化器的介绍。 这是一个简写 分配给方法名称的函数。
文档继续给出这个例子:
给出以下代码:
var obj = { foo: function() { /* code */ }, bar: function() { /* code */ } };
您现在可以将其缩短为:
var obj = { foo() { /* code */ }, bar() { /* code */ } };