Я читал, что двойные каналы в JavaScript проверяют, является ли переменная ложной и что undefined
является ложным значением в JavaScript, например
Это означает, что если значение ложно (например, 0, "", null, undefined (см. также все значения false в JavaScript)), это будет считаться ложным; в противном случае он считался истинным.
Итак, я попробовал это и обнаружил, что undefined действительно не получает оценку как ложность, но вместо этого выдает ошибку:
let elemContent = document.getElementById('content');
let a = null;
let b = 2;
elemContent.innerHTML += a || 'ok'; // "ok"
elemContent.innerHTML += b || 'ok'; // "2"
elemContent.innerHTML += whatever || 'ok'; // "ERROR: whatever is not defined"
Является ли undefined
ложным значением в JavaScript или нет, или как понимать это противоречие?