Я смотрю на этот класс Javascript:Какова цель || Оператор []
'use strict';
class Account {
constructor(a, b, c) {
this.a = a
this.b = b || []
this.c = c || []
}
}
Что b || []
говорит?
Я смотрю на этот класс Javascript:Какова цель || Оператор []
'use strict';
class Account {
constructor(a, b, c) {
this.a = a
this.b = b || []
this.c = c || []
}
}
Что b || []
говорит?
Оператор ||
возвращает первое значение истины, которое оно видит. Многие люди будут использовать это как ярлык для установки значений по умолчанию для переменных, поскольку undefined
- false-y. Проблема при этом заключается в том, что значение по умолчанию будет также использоваться для null
, false
, 0
, NaN
и пустых строк (все из которых могут или не могут быть действительными значениями).
В этом случае, если b
или c
является undefined
(или любое другое значение ложно-у), this.b
и this.c
будет установлен в []
.
, что относительно 'null' и' '" '-.- – CoderPi
@CodeiSir - я добавил' null' и уже упоминал пустые строки. –
Где это? – Lasoloz
if be b может быть оценен как false, он вернет [], в противном случае он возвращает b – CoderPi
http://stackoverflow.com/questions/4576867/javascript-or-operator-with-a-undefinded-variable – epascarello