1

我正在窥视角度源,我遇到了这段代码

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

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

提前致谢

4

2 回答 2

1

我会说这真的没关系。typeof 无论如何都会返回一个字符串

相等和不相等运算符与相等和不相等执行相同的操作,只是它们在测试相等之前不转换操作数。

请参阅:
https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof
JavaScript 供专业 Web 开发人员使用

不过,我个人认为没有理由使用 Angulars 方法而不是 typeof。当然,如果值为 ,它可以防止错误的检查结果null,但是我们需要另一种方法吗?也许有人可以启发我。

于 2013-10-15T12:27:43.217 回答
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

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

于 2018-01-16T22:17:03.323 回答