也就是除了物件
、部分陣列
以外,其餘的型別都是不可變的。
例如 : 變數 a 一開始是 'hello',再設定一個 a 為 'yo',其實是再新增一個記憶體存放的,所以兩個位置不同,因此顯示 a 還是原本的'hello'
如果改成a = a + 'yo'
會變成 'helloyo' 因為重新設了一個新值讓'hello'+'yo'的值回傳。
重點
陣列部分 :
通常如果是改動陣列,且回傳的也是陣列 ( push,splice,reverse ) 就會改到原本陣列。
如果回傳的不是陣列 ( join,slice,toUpperCase )就不會影響原陣列,他們會回傳一個新陣列來儲存,因此需要用一個新的變數會函式來接收 str = str.toUpperCase()
,由於是重要的概念,在這邊簡單筆記一下。