Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对象,其值不作为方法参数的键_Javascript - Fatal编程技术网

Javascript 对象,其值不作为方法参数的键

Javascript 对象,其值不作为方法参数的键,javascript,Javascript,我正在与prisma nexus合作,在Prismao对象类型中,我看到了一些奇怪的东西。 一个非常基本的例子是这样的 简单的函数,demop应该是一个对象 function demo(p) { console.log(p); console.log(p.normal); console.log(p.normal()); } 我将传递一个键法线和一个函数作为值

我正在与prisma nexus合作,在Prismao对象类型中,我看到了一些奇怪的东西。 一个非常基本的例子是这样的

简单的函数,demop应该是一个对象

            function demo(p) {
              console.log(p);
              console.log(p.normal);
              console.log(p.normal());
            }
我将传递一个键法线和一个函数作为值

        demo({a:"a", normal: function(){console.log("normal")},b:"b"});
它登录到控制台

            {a: "a", normal: ƒ, b: "b"}
            ƒ (){console.log("normal")}
            "normal"
奇怪的是,我传递的方法没有单词function,也没有键

            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,奇怪的部分>>>>奇怪的{console.logit是奇怪的}这是对象上函数属性的简写语法。基本上,以下两个是等效的:

// traditional syntax
const foo = {
    bar: function bar(msg) { console.log(msg); }
};

// shorthand syntax
const foo = {
    bar(msg) { console.log(msg); }
};

这是预期的JS行为。它在ecma 2015中作为速记引入

基本上:

var o = {
  property(parameters) {}
};
是的缩写

var o = {
  property: function(parameters) {}
};