jay*_*agi 6 javascript object javascript-objects
以下评估为true:
new Number(2) == 2
new String("2") == "2"
Run Code Online (Sandbox Code Playgroud)
显然,但以下情况也是如此:
"2" == 2
new Number(2) == "2"
new String("2") == 2
Run Code Online (Sandbox Code Playgroud)
那么有人可以清楚地解释他为什么要进行评估false吗?
new Number(2) == new String("2")
Run Code Online (Sandbox Code Playgroud)
因为JavaScript具有数字和字符串(和布尔值)的原始版本和对象版本.new Number并new String创建对象版本,当您使用==对象引用时,您将比较对象引用,而不是值.
new String(x)并且String(x)是根本不同的事情(这也是如此Number).随着该new操作,你要创建一个对象.如果没有的new运营商,你正在做的类型强制转换-如String(2)给你"2"和Number("2")给你2.
| 归档时间: |
|
| 查看次数: |
97 次 |
| 最近记录: |