Avatar ·

JavaScript 中是否存在空值合并运算符(null coalescing)?

大家好!我是一名初学 JS 的开发者,在处理可能为 null 或 undefined 的值时遇到了问题。 假设我有一个获取用户设置的函数,如果某个属性缺失,我想使用默认值。目前我是这样做的: ```javascript function getSettings(user) { const theme = user.theme || 'light'; const fontSize = user.fontSize || 16; return { theme, fontSize }; } ``` 但这并不完全正确。例如,如果用户明确指定了 `theme: ''`(空字符串)或 `fontSize: 0`,`||` 运算符会将其视为 falsy 并应用默认值。而我需要仅在值确实为 null 或 undefined 时才进行替换。 我听说在某些语言(如 C# 或 PHP)中有一个特殊的“空值合并”运算符(??),它正是我需要的——只检查 null/undefined,而不是所有 falsy 值。是否存在