我正在看这个Javascript类:
'use strict';
class Account {
constructor(a, b, c) {
this.a = a
this.b = b || []
this.c = c || []
}
}
b || []
说什么?
答案 0 :(得分:1)
||
运算符返回它看到的第一个true-y值。许多人会将此作为设置变量默认值的快捷方式,因为undefined
为false-y。这样做的问题是默认值也将用于null
,false
,0
,NaN
和空字符串(所有这些字符串可能实际上也可能不实际是有效的值。)
在这种情况下,如果b
或c
为undefined
(或任何其他false-y值),则this.b
和this.c
将设置为[]
。