gpt4 book ai didi

Javascript 对象属性 - 如果不存在则创建属性

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

我正在尝试以最优雅的方式执行这段代码:

if (internalTableName in self.columnMap &&
internalColumnName in self.columnMap[internalTableName]) {
console.error('dupelicates');
}
else {
try {
self.columnMap[internalTableName][internalColumnName] = logicalColumnName;
} catch (err) {
self.columnMap[internalTableName] = {};
self.columnMap[internalTableName][internalColumnName] = logicalColumnName;
}
}

我可以将 try/catch block 变成:

if (internalTableName in self.columnMap &&
internalColumnName in self.columnMap[internalTableName]) {
console.error('dupelicates');
}
else {
if (internalTableName in self.columnMap) {
self.columnMap[internalTableName][internalColumnName] = logicalColumnName;
}
else {
self.columnMap[internalTableName] = {};
self.columnMap[internalTableName][internalColumnName] = logicalColumnName;

}
}

我想知道 Javascript 是否提供了一些运算符来检查无效性,从而使该逻辑以更优雅的方式编写并减少 IF 子句。

谢谢

最佳答案

常见的模式是使用 || operator :

self.columnMap[internalTableName] = self.columnMap[internalTableName] || {};
self.columnMap[internalTableName][internalColumnName] = logicalColumnName;

关于Javascript 对象属性 - 如果不存在则创建属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34419057/

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