物件型別與原始型別(傳值vs傳址)

原始型別(傳值):只代表單一值的資料型別
  • 六大純值:Number String Boolean Null Undefined Symbol
  • 傳值並且給創造新的記憶體空間給他 EX:a=12,b=a ,B與A的記憶體位置並不相同,但數值相同
物件類別(傳址):
  • 物件存放明確的地址,物件變數內的數值就是這個記憶體位置
  • EX:a={num:12}, b=a ,他們指向同一個位置,所以改b的內容,a也會被修改,像這種在不同變數間取用相同記憶體位置,又稱傳參考呼叫(Call By Reference),可以說b參考了a物件的記憶體位置
也有一些人認為JavaScript 是Call By Sharing