【发布时间】:2021-11-22 09:10:23
【问题描述】:
例如我有一个像这样的对象:
const a = {
b: "value"
// and also what about: c: '', or c: 0, c: false ?
};
我想为我的对象分配一个 'c' 键,但前提是之前没有分配。
通常我们会这样做:
if (!a.c) {
a.c = 1; // or without { } for a bit shorty way.
}
但是 ES12 标准引入了更多新的 Nullish 合并和逻辑运算符,所以有人可以向我解释一下它如何帮助我替换上面的示例以及 null 和 0 作为数字行为(空字符串和false 的行为也是加分项)?
它背后的真正问题是:使用这个新功能真的可以覆盖所有情况并在实际生产项目中取代上面的示例,还是保持更传统的方式更好? . (当然,这都是关于语法糖的工作人员,但我想了解更多关于覆盖率的信息)
【问题讨论】:
-
要替换零吗?
-
你不是说
if (!a.c)吗? -
你好@NinaScholz,我通过回答我的其他问题来记住你。老实说,我也希望涵盖零和
null案例。 -
那么
false和空字符串...等 -
@C.Champagne,是的,没错,这是我的错误
标签: javascript node.js ecmascript-2021