为什么这个语句导致'typeError:无法读取属性'toString'of undefined'?我认为它注意到und
未定义,只是避免它试图从und
中创建一个字符串的行。
如果我从“if”语句中删除true ||
,则可以正常使用
let und = undefined;
if (true || und ? und.toString() === 'anything' : false) {
// do something
}
答案 0 :(得分:0)
这条指令:
true || und ? und.toString() === 'anything' : false
将被视为:
(true || und) ? und.toString() === 'anything' : false
由于OR
语句为true
,und.toString() === 'anything'
将被执行,即使 und
{ {1}}。
您需要在三元运算符周围加上括号。
undefined