能否使用空值合并运算符实现仅变量有效时的赋值操作?
用空值合并运算符实现条件赋值的正确方式
可以利用空值合并运算符的短路求值特性来实现这个需求,完全避免content为null/undefined时的无意义赋值:
content ?? (document.elem.innerHTML = content);
原理说明
空值合并运算符(??)的逻辑是:只有当左侧表达式的值为null或undefined时,才会返回右侧表达式的结果;反之则直接返回左侧值,且不会执行右侧表达式。
放到这个场景里就是:
- 当
content有有效值时,会执行右侧的document.elem.innerHTML = content完成赋值 - 当
content为null或undefined时,右侧代码直接被跳过,不会触发任何赋值操作
这种写法比你之前尝试的重复赋值方式更高效,也完全符合你“仅当content存在值时才执行赋值”的要求。
内容的提问来源于stack exchange,提问作者anjanesh
相关产品推荐
相关产品推荐

