栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JavaScript中是否有“空合并”运算符?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript中是否有“空合并”运算符?

更新资料

Javascript现在支持无效的合并运算符(??)。当其左侧操作数为

null
或时
undefined
,它返回其右侧操作数,否则返回其左侧操作数。

使用前请检查兼容性。


与C#null合并运算符(

??
)等效的Javascript 使用逻辑OR(
||
):

var whatIWant = someString || "cookies!";

在某些情况下(以下已说明),该行为与C#的行为不匹配,但这是在Javascript中分配默认/替代值的通用,简洁的方法。


Clarification

无论第一个操作数的类型如何,如果将其强制转换为Boolean都会导致

false
,赋值将使用第二个操作数。当心以下所有情况:

alert(Boolean(null)); // falsealert(Boolean(undefined)); // falsealert(Boolean(0)); // falsealert(Boolean("")); // falsealert(Boolean("false")); // true -- gotcha! :)

这表示:

var whatIWant = null || new ShinyObject(); // is a new shiny objectvar whatIWant = undefined || "well defined"; // is "well defined"var whatIWant = 0 || 42; // is 42var whatIWant = "" || "a million bucks"; // is "a million bucks"var whatIWant = "false" || "no way"; // is "false"


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/395254.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号