我读到在JavaScript中,双竖线用于检查一个变量是否为假值,undefined
是 JavaScript 中的一种假值,例如:
这意味着如果值是假值(例如 0、""、null、undefined(请参见JavaScript中所有假值)),它将被视为false; 否则,它被视为true。
因此,我尝试了一下,发现 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中是一种假值还是不是,或者如何理解这个矛盾?
window.whatever
替换whatever
或者声明whatever
。 - Wiktor Zychla