const聲明常量以及特點


在ES6中使用 const 來聲明常量

首先什么是常量,常量就是相對於變量而言不可變動的量,111、'qqq' 這樣都是常量。

const nub = 1;
console.log(nub);  //1

 

在使用 const 的時候有以下幾點需要注意:

1、使用const聲明常量一定要賦初始值,否則會產生語法錯誤

const a = 1;

const b; //SyntaxError: Missing initializer in const declaration

2、常量的值不能修改

正是因為 const 聲明的變量不可以改變值,所以只要聲明變量就必須進行初始化,不可以等聲明之后再另外進行賦值

const NUMBER = 'jojo';
NUMBER;

NUMBER = 'hell';  //TypeError: Assignment to constant variable.

3、const 有塊級作用域

和 let 一樣const也有塊級作用域,只在聲明所在的塊級作用域之內有效

{
    const age = 17;
}
age; //ReferenceError: age is not defined

並且使用 const 聲明的常量也不會提升,存在暫時性死區,只能在聲明之后調用

    console.log(age);
    const age = 17;
//ReferenceError: Cannot access 'age' before initialization

4、對於數組和對象的元素修改,不算做對常量的修改,不會報錯

 對於復合類型的變量,變量名不指向數據,而是指向數據所在的地址。const 明亮只是保證變量名指向的地址不變,但是存儲在這個地址里面的數據則有可能發生變化。

const tim = [1,2];
tim.push(3);
console.log(tim);  //[1, 2, 3]

上面這段代碼中,常量 tim作為一個數組,是可以寫入的並且不會報錯,因為指向的地址並沒有發生改變。但是如果將另外一個數組賦值給 tim 則會報錯,因為這時候 tim指向的內存地址發生了改變。

參考資料:https://www.w3cschool.cn/ecmascript/ueqp1q5g.html

注意:聲明數組或是對象的時候,使用 const 是比較穩妥的,可以避免常量變動錯誤。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM