gpt4 book ai didi

javascript - ES6 属性值简写 undefined

转载 作者:行者123 更新时间:2023-11-30 11:18:12 25 4
gpt4 key购买 nike

我想使用属性值简写,但只有在定义了值时,请考虑以下示例:

const personByName = name => {
const person = http(name)
return { person, method: 'byName' }
}

personByName('john') // found person: { person: { name: 'john', age: 30 }, method: 'byName' }
personByName('paul') // not found: { method: 'byName' }

但我得到的当前输出是:

personByName('paul') // not found: { person: undefined, method: 'byName' }

最佳答案

为了使用速记属性,可以使用Object.assign:

const personByName = name => {
const person = http(name);
return Object.assign({ method: 'byName' }, person && { person });
}

后续的非对象 Object.assign 参数会被有效地忽略,因此虚假的 person 不会影响结果。

如果希望 person 是一个对象,这将起作用,如原始代码所示。

如果只有未定义的值是不允许的,它是:

Object.assign({ method: 'byName' }, person !== undefined && { person });

关于javascript - ES6 属性值简写 undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50741193/

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