一句話來說:原始值是不可變的,而對象引用是可變的。
js中的原始值(undefined、null、布爾值、數字和字元串)與對象(包括數組和函數)有着本質的差別。原始值是不可更改的,任何方法都無法更改一個原始值;對于字元串來說,字元串中所有的方法看上去傳回了一個修改後的字元串,實際上傳回的是一個新的字元串值:
原始值的比較是值的比較:隻有它們的值相等時它們才想等。
對象和原始值不同,首先它們是可變的;其次對象的比較并非值的比較;對象的比較皆為引用的比較:當且僅當它們引用同一個基本對象時,它們才想等。
若想比較2個單獨的對象或數組,必須比較它們的屬性或元素,如下所示: