我正在与中枢神经联系工作,在prismaObjectType
中,我看到了一些奇怪的东西。
一个非常基本的例子。
简单功能,demo(p)
p
应该是一个对象
function demo(p) {
console.log(p);
console.log(p.normal);
console.log(p.normal());
}
我将传递一个键normal
和一个函数作为值
demo({a:"a", normal: function(){console.log("normal")},b:"b"});
它登录控制台
{a: "a", normal: ƒ, b: "b"}
ƒ (){console.log("normal")}
"normal"
奇怪的是,我正在传递一个没有单词函数也没有键的方法
demo({a:"a", weird(){ console.log("it is weird") } ,b:"b"});
// console
{a: "a", weird: ƒ, b: "b"}
ƒ weird(){console.log("it is weird")}
it is weird
{a:"a", the weird part >>>>> weird(){console.log("it is weird")} <<< ,b:"b"}
这种做法的名称是什么?有何评论?
答案 0 :(得分:5)
答案 1 :(得分:3)
这是对象introduced in ES2015上的函数属性的“简写”语法。基本上,以下两个是等效的:
// traditional syntax
const foo = {
bar: function bar(msg) { console.log(msg); }
};
// shorthand syntax
const foo = {
bar(msg) { console.log(msg); }
};