繁体   English   中英

带逗号的JavaScript短路变量分配

[英]JavaScript Short-Circuit Variable Assignment with Commas

我正在查看我下载的JavaScript小部件的一些代码,并且有一个类似于以下内容的变量分配:

var a = a.something || a.somethingElse, c, d, e, f, g;

我想知道的是,这是否等效于此:

var a = a.something || a.somethingElse;
var c, d, e, f, g;

或这个:

var a = a.something || a.somethingElse || c || d || e || f || g;

我一直在阅读短路评估和分配,并且我知道第一部分是在说:

if ( a.something != (null or 0 or false)) {
    a = a.something;
} else {
    a = a.somethingElse;
}

但我似乎找不到使用此类示例的任何资源。


谢谢你的帮助!

您的理解是正确的。 var语句中的逗号分隔列表被视为单个Ines。

至于布尔OR语句:如果第一个表达式是falsy,则将使用第二个表达式。 您可以添加更多,如第三个示例中所示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM