# JavaScript Immutable ( 不可變 ) 概念


參考文章 MDN

也就是除了物件部分陣列以外,其餘的型別都是不可變的。
例如 : 變數 a 一開始是 'hello',再設定一個 a 為 'yo',其實是再新增一個記憶體存放的,所以兩個位置不同,因此顯示 a 還是原本的'hello'

如果改成a = a + 'yo' 會變成 'helloyo' 因為重新設了一個新值讓'hello'+'yo'的值回傳。

重點

陣列部分 :

通常如果是改動陣列,且回傳的也是陣列 ( push,splice,reverse ) 就會改到原本陣列。

如果回傳的不是陣列 ( join,slice,toUpperCase )就不會影響原陣列,他們會回傳一個新陣列來儲存,因此需要用一個新的變數會函式來接收 str = str.toUpperCase(),由於是重要的概念,在這邊簡單筆記一下。







你可能感興趣的文章

swap用法

swap用法

滲透測試重新打底(9)--Buffer Overflow (BoF)

滲透測試重新打底(9)--Buffer Overflow (BoF)

陪你玩論文 - AB3DMOT,一個 3D multi-object tracking 的 baseline

陪你玩論文 - AB3DMOT,一個 3D multi-object tracking 的 baseline






留言討論