三元返回undefined?

Mat*_*rym 4 javascript jquery

我想仅在定义变量的情况下在对象上包含属性.我根本不想要这个属性.我甚至不希望它等于空白字符串.我在想这样的事情:

someFunc({
    bing: "bing",
    bang: (myVar) ? myVar : undefined,
    boom: "boom"
    }, "yay");
Run Code Online (Sandbox Code Playgroud)

如果myVar未定义,我希望这导致与下面相同的事情:

someFunc({
    bing: "bing",
    boom: "boom"
    }, "yay");
Run Code Online (Sandbox Code Playgroud)

我做得对吗?

Mat*_*all 5

这有一个区别:

var ex1 = {foo: undefined};
Run Code Online (Sandbox Code Playgroud)

还有这个:

var ex2 = {};
Run Code Online (Sandbox Code Playgroud)

因此,我会这样做:

var args = {
    bing: 'bing',
    boom: 'boom'
};

if (typeof myVar !== 'undefined') {
    args.bang = myVar;
}

someFunc(args, 'yay');
Run Code Online (Sandbox Code Playgroud)