||的目的是什么在JavaScript变量中?

时间:2018-06-20 00:53:17

标签: javascript

我刚刚在下面看到了一行这样的代码,对||的使用很感兴趣

const myCars = ['BMW','Audi','VW']
const foo = myCars.length || [];

这是否意味着如果myCars.length从未定义过,foo等于一个空数组而不是未定义?

2 个答案:

答案 0 :(得分:2)

是的,应如何阅读: 如果'myCars'没有长度(例如,没有值),则常量foo应该设置为[]。

注意:https://www.w3schools.com/jsref/jsref_length_array.asp,特别是.length的返回值:“ A Number,代表数组对象中元素的数量”。

答案 1 :(得分:-1)

这是Javascript中的短路评估。其在JS中的独特用法||运算符,因为其他语言仅在条件语句中使用此运算符。请阅读

https://en.wikipedia.org/wiki/Short-circuit_evaluation