【发布时间】:2010-10-03 08:23:51
【问题描述】:
Javascript 中有空合并运算符吗?
例如,在 C# 中,我可以这样做:
String someString = null;
var whatIWant = someString ?? "Cookies!";
我可以为 Javascript 找出的最佳近似值是使用条件运算符:
var someString = null;
var whatIWant = someString ? someString : 'Cookies!';
恕我直言,这有点恶心。我能做得更好吗?
【问题讨论】:
-
2018 年的注释:
x ?? y语法现在处于第 1 阶段提案状态 - nullish coalescing -
现在有一个 Babel plugin 包含了这种精确的语法。
-
2019 年的注意事项:现在是第 3 阶段状态!
-
2020 年 1 月的注意事项:空值合并运算符在 Firefox 72 中本机可用,但可选链接运算符仍然不可用。
-
无效的合并运算符 (
x ?? y) 和可选的链接运算符 (user.address?.street) 现在都处于第 4 阶段。这里有一个很好的说明:2ality.com/2015/11/tc39-process.html#stage-4%3A-finished。
标签: javascript operators null-coalescing-operator null-coalescing