gpt4 book ai didi

javascript - ES6/ES7 中 'optional' 对象键的简洁/简洁语法?

转载 作者:行者123 更新时间:2023-12-02 21:13:37 27 4
gpt4 key购买 nike

已经有很多 cool features在 ES6/ES7 中用于定义 Javascript 对象。然而,以下模式在 Javascript 中很常见:

const obj = { 
requiredKey1: ...,
requiredKey2: ...
};

if (someCondition) {
obj.optionalKey1 = ...;
}

有没有一种方法可以同时使用可选键和必需键来定义对象?

最佳答案

您可以使用object spread拥有可选属性:

let flag1 = true;
let flag2 = false;

// extra cases added by Abdull
let optionalKey8 = 8;
let optionalKey9 = undefined;
let optionalKey10 = false;
let optionalKey11 = null;
let optionalKey12 = "twelve";

const obj = {
requiredKey1: 1,
requiredKey2: 2,
...(flag1 && { optionalKey3: 3 }),
...(flag2 && { optionalKey4: 4, optionalKey5: 5 }), // ignored
...(flag1 && { optionalKey6: 6, optionalKey7: 7 }),
...(optionalKey8 && { optionalKey8 }),
...(optionalKey9 && { optionalKey9 }), // ignored
...(optionalKey10 && { optionalKey10 }), // ignored
...(optionalKey11 && { optionalKey11 }), // ignored
...(optionalKey12 && { optionalKey12 })
};

console.log(obj);

关于javascript - ES6/ES7 中 'optional' 对象键的简洁/简洁语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47892127/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com