我正在偷窥角源 我遇到了这段代码
function isObject(value){return value != null && typeof value == 'object';}
我想知道是否有原因因为使用==而不是===
提前致谢
答案 0 :(得分:1)
我会说这没关系。无论什么
,typeof都会返回一个字符串相同且相同且不相等的运算符执行相同且不相等的操作,除了它们在测试相等性之前不转换操作数。
查看:强>
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof
JavaScript for professional Webdevelopers
我个人认为没有理由使用Angulars方法而不是typeof。当然,如果值为null
,它会阻止错误检查结果,但我们还需要另一种方法吗?
也许有人可以启发我。
答案 1 :(得分:0)
通过使用=,您可以为某个值指定值。
x = 1 // x now equals 1
x = 2 // x now equals 2
通过使用==,您可以检查某些内容是否与其他内容相同。注意:这不严格。
x == 1 // is x equal to 1? (False)
x == 2 // is x equal to 2? (True)
通过使用===,您可以检查某些内容是否与其他内容相同。注意:这是严格的。
x === 1 //is x equal to 1? (False)
x === 2 //is x equal to 2? (True
严格的是它不仅检查两个值的相等性,还比较两个值的类型。我希望这会有所帮助。