在javascript对象内部创建函数的不同方式有什么区别?
问题描述:
方法1和方法2有什么区别?在javascript对象内部创建函数的不同方式有什么区别?
let myObject = {
method1: function(x){
console.log(...);
},
method2(x){
console.log(...);
}
}
答
没有区别。 method2
只是ES6中引入的简写语法。
从ECMAScript 2015开始,引入了对象初始值设定项上方法定义的较短语法。它是分配给方法名称的函数的简写。
来源:https://developer.mozilla.org/docs/Web/JavaScript/Reference/Functions/Method_definitions
答
这里没有真正的区别,如在注释中规定。
这只是一个“你想怎么写”的问题。
但是,如果您正在开始一个项目,您应该选择一种方式并坚持下去,如果项目已经开始,请尝试坚持最常用的方式。这将很容易读取代码。
此外,如果它是关于范围或绑定,你应该看看这里:
'method2'实际上是打字稿。 not javascript –
你在问语法上正确和不正确的东西之间的区别。 *编辑:看来我错了,thans纠正我。* – Glubus
@Glubus,Jamiec:它是有效的es2015(如果我们添加逗号):https://monosnap.com/file/tpWRqrOSNB2q4sjwm7HbVCLWOX7sCU.png –