在javascript中使用三元运算符

时间:2014-10-13 11:46:34

标签: javascript operators

我知道基本使用'?'三元运算符。 window.URL应该是表达式,应该返回true或false。但在这种情况下,它返回一个字符串。

如何评估此表达式。

var createSrc = window.URL ? window.URL.createObjectURL : function(stream) {return stream;};

1 个答案:

答案 0 :(得分:2)

只要字符串不为空,就会对true进行评估,在这种情况下,字符串为false

虽然看起来window.URL在这种情况下不是字符串。它似乎是一个对象,如果undefined也将评估为false

您的陈述的作用是检查window.URL是否存在。如果是,那么它将createSrc分配给window.URL.createObjectURL的值,我假设它可能是一个函数。否则,它将分配三元运算符的第三部分function(stream) {return stream;}

这意味着,createSrc应始终是一个函数,调用它不会产生错误。