我已經看到了所有的問題和答案在stackoverflow,但找不到這個簡單的答案。Javascript:String vs. 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「)'是一個對象。這就是爲什麼'「測試」!==新的字符串(「測試」)'。 'new String(「test」)'是一個圍繞字符串的包裝對象。 – dfsq
明白了。您能否更詳細地發表對象和字符串創建的邏輯答案?謝謝。 – super11
'a == b'是'true',因爲'=='操作符會強制匹配類型(儘可能地),而'==='操作符用於您明確想要比較類型的地方他們是。 –