带逗号的JavaScript短路变量赋值
我正在查看我下载的JavaScript小部件的一些代码,其中有一个类似于以下内容的变量赋值:带逗号的JavaScript短路变量赋值,javascript,variable-assignment,short-circuiting,Javascript,Variable Assignment,Short Circuiting,我正在查看我下载的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; 我
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语句中逗号分隔的列表被视为单独的INE
至于布尔OR语句:如果第一个表达式是falsy,那么将使用第二个表达式。您可以添加更多内容,如第三个示例。您的理解是正确的。var语句中逗号分隔的列表被视为单独的INE
至于布尔OR语句:如果第一个表达式是falsy,那么将使用第二个表达式。您可以添加更多内容,如第三个示例。请参见您忘记、未定义和NaN:-请参见您忘记、未定义和NaN:-非常感谢-正是我一直在寻找的确认汉克斯-正是我一直在寻找的确认