JavaScript 等价于 ?? C#中的运算符[重复]
Posted
技术标签:
【中文标题】JavaScript 等价于 ?? C#中的运算符[重复]【英文标题】:JavaScript equivalent of ?? operator in C# [duplicate] 【发布时间】:2015-08-04 07:40:32 【问题描述】:有没有等价的?? javascript 中存在于 C# 中的运算符来击败“未定义”检查? 例如:
var count = something ?? 0;
【问题讨论】:
var count = (typeof something === 'undefined') ? 0 : something;
这是@Zee 答案的更详细版本(可以说更安全)。
@evolutionxbox:我认为你的价值观是错误的
@musefan 你是对的,我做到了。
【参考方案1】:
使用逻辑或
var count = something || 0;
【讨论】:
请注意,这不适用于布尔值:如果someflag
为假,someflag || true
将返回真
这不会也因 int 为 0 而失败吗?
是的,这个检查会给你错误的结果,操作数左侧的任何东西都可能合法地是假的。零是这里明显的问题,但在这种情况下无关紧要。我已经被这个咬过很多次了,我尽量避免将它用于现在比较对象以外的任何事情。以上是关于JavaScript 等价于 ?? C#中的运算符[重复]的主要内容,如果未能解决你的问题,请参考以下文章