【发布时间】:2017-08-17 07:33:26
【问题描述】:
为什么这个语句会导致 'TypeError: Cannot read property 'toString' of undefined' ?我想它会注意到und 是未定义的,只是避开它试图用und 生成字符串的那一行。
如果我从“if”语句中删除true ||,它可以正常工作
let und = undefined;
if (true || und ? und.toString() === 'anything' : false) {
// do something
}
【问题讨论】:
-
true ||在if条件下的用途是什么? -
看来你对三元运算符的概念不太清楚
-
实际代码不同,三元运算符在我的情况下是为了避免其他单独的语句
-
@Teemu 这就是我说有点的原因。我也知道这不是正确的术语。
-
`如果是真的?或未定义,如果“und”完全是“任何东西”,否则为假?????
标签: javascript if-statement ternary-operator