您好,登錄后才能下訂單哦!
這篇文章主要講解了“es6中const定義的屬性可以改變嗎”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“es6中const定義的屬性可以改變嗎”吧!
constt的定義
const是用來定義常量的,而且定義的時候必須初始化,且定義后不可以修改。
這對于基本類型的數據而言:如果定義的時候不初始化值的話就會報錯,錯誤內容就是沒有初始化。并且const定義的基本數據類型的變量確實不能修改。例如:
1、不初始化的情況
constPI
//UncaughtSyntaxError:Missinginitializerinconstdeclaration
2、修改變量的情況
constPI=3.14159
PI=3
UncaughtTypeError:Assignmenttoconstantvariable.
上面說的const定義的屬性可變,是針對對象或者數組的。例如:
1、const定義對象:
constObj={};
Obj.name="fly63";
console.log(Obj.name);//打印fly63
2、const定義數組
Arr=[3,4]
Arr[0]=1
console.log(Arr)//輸出[1,4]
//不應許直接賦值,回報錯:UncaughtTypeError:Assignmenttoconstantvariable.
Arr=[1,4]
為什么會這樣呢?這是由于對象或者數組屬于引用數據類。
const怎樣修改
const實際上保證的,并不是變量的值不得改動,而是變量指向的那個內存地址所保存的數據不得改動。
對于簡單類型的數據(數值、字符串、布爾值),值就保存在變量指向的那個內存地址,因此等同于常量。但對于復合類型的數據(主要是對象和數組),變量指向的內存地址,保存的只是一個指向實際數據的指針,const只能保證這個指針是固定的(即總是指向另一個固定的地址),至于它指向的數據結構是不是可變的,就完全不能控制了。因此,將一個對象聲明為常量必須非常小心。
感謝各位的閱讀,以上就是“es6中const定義的屬性可以改變嗎”的內容了,經過本文的學習后,相信大家對es6中const定義的屬性可以改變嗎這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。