Hit*_*ua1 4 javascript function object ecmascript-6
当我在javascript控制台中键入此代码时,这不是通过错误,而是运行.
var a = {
b:"123",
update(){
console.log("hello");
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,update()没有函数关键字,当我检查对象的属性时a,我得到:
b: "123"
update: function ()
__proto__: Object
Run Code Online (Sandbox Code Playgroud)
什么是javascript实际上在这里做?
在ECMA Script 6中,您可以在创建对象时定义对象的属性,而不使用:.
例如,
var data = 100;
var a = { data };
console.log(a);
// { data: 100 }
Run Code Online (Sandbox Code Playgroud)
类似地,在您的情况下,您正在创建两个属性,一个被调用b,另一个被调用update,其中b是100,update实际上是一个被调用的函数对象update.
在这里阅读更多相关信息
注意:这只是ECMA Script 6中引入的简写符号.您仍然可以使用ECMA Script 5方式创建属性函数,例如
var a = {
b: "123",
update: function update() {
console.log("hello");
}
}
Run Code Online (Sandbox Code Playgroud)