我浏览了stackoverflow上所有的问题和答案,但是没有找到一个简单的答案。
string和object的区别是什么?
例如,如果我有以下代码:
var a = 'Tim';
var b = new String('Tim');
到底有什么区别呢?
我知道new
会使代码复杂,而new String
会使它变慢。
同时,我知道a==b
是true
,但更严谨的比较方式a===b
则是false
。为什么呢?
我好像无法理解对象和字符串创建背后的过程。 例如:
var a = new String ('Tim');
var b = new String ('Tim');
a==b
的结果是 false
"test"
是一个字符串,而new String("test")
是一个对象。这就是为什么"test" !== new String("test")
。new String("test")
是一个字符串的包装对象。 - dfsqa == b
是true
,因为==
运算符会强制转换类型以匹配(尽可能最佳),而===
运算符用于显式比较类型。 - Rory McCrossan