angularjs core是(type)equals-operator ==而不是=== i

时间:2013-10-15 12:04:11

标签: angularjs

我正在偷窥角源 我遇到了这段代码

function isObject(value){return value != null && typeof value == 'object';}

我想知道是否有原因因为使用==而不是===

提前致谢

2 个答案:

答案 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

严格的是它不仅检查两个值的相等性,还比较两个值的类型。我希望这会有所帮助。