2016-01-13 2 views
-5

Я смотрю на этот класс Javascript:Какова цель || Оператор []

'use strict'; 
class Account { 
    constructor(a, b, c) { 
    this.a = a 
    this.b = b || [] 
    this.c = c || [] 
    } 
} 

Что b || [] говорит?

+0

Где это? – Lasoloz

+0

if be b может быть оценен как false, он вернет [], в противном случае он возвращает b – CoderPi

+0

http://stackoverflow.com/questions/4576867/javascript-or-operator-with-a-undefinded-variable – epascarello

ответ

1

Оператор || возвращает первое значение истины, которое оно видит. Многие люди будут использовать это как ярлык для установки значений по умолчанию для переменных, поскольку undefined - false-y. Проблема при этом заключается в том, что значение по умолчанию будет также использоваться для null, false, 0, NaN и пустых строк (все из которых могут или не могут быть действительными значениями).

В этом случае, если b или c является undefined (или любое другое значение ложно-у), this.b и this.c будет установлен в [].

+0

, что относительно 'null' и' '" '-.- – CoderPi

+0

@CodeiSir - я добавил' null' и уже упоминал пустые строки. –

Смежные вопросы