Ответ 1
Да, это называется оценка короткого замыкания.
При использовании логического оператора AND
, если первый оценивает значение false
, то второй никогда не оценивается, потому что условие уже достаточно хорошо известно для выполнения.
С логическим оператором OR
, если первый - false
, он будет оценивать второй. В противном случае, если первый true
, он не будет оценивать второй (не нужно).
Вот почему вы видите...
var a = function(b) {
b = b || 7;
}