I'm trying to execute this piece of code in the most elegant way:
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;
}
}
I could turn the try/catch block to:
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;
}
}
I was wondering if Javascript offers some operators for checking nullity that could make this logic be written in a more elegant way and less IF clauses.
Thanks
The common pattern is using the ||
operator:
self.columnMap[internalTableName] = self.columnMap[internalTableName] || {};
self.columnMap[internalTableName][internalColumnName] = logicalColumnName;