您好,登錄后才能下訂單哦!
小編給大家分享一下JavaScript中聲明常量的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
在js中,可以使用const關鍵字聲明常量,語法格式為“const 名稱=值;”。const聲明創建一個值的只讀引用,但這并不意味著它所持有的值是不可變的,只是變量標識符不能重新分配。
本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
const,用于聲明常量。
注意:定義的變量的時候,必須同時初始化,且其值之后不可以修改。
const number = 42; try { number = 99; } catch (err) { console.log(err); // expected output: TypeError: invalid assignment to const `number' // Note - error messages will vary depending on browser } console.log(number); // expected output: 42
結果:
> TypeError: Assignment to constant variable. > 42
語法
const name1 = value1 [, name2 = value2 [, ... [, nameN = valueN]]];
nameN常量名稱,可以是任意合法的標識符。valueN常量值,可以是任意合法的表達式。
描述
此聲明創建一個常量,其作用域可以是全局或本地聲明的塊。 與var變量不同,全局常量不會變為 window 對象的屬性。需要一個常數的初始化器;也就是說,您必須在聲明的同一語句中指定它的值(這是有道理的,因為以后不能更改)。
const聲明創建一個值的只讀引用。但這并不意味著它所持有的值是不可變的,只是變量標識符不能重新分配。例如,在引用內容是對象的情況下,這意味著可以改變對象的內容(例如,其參數)。
關于“暫存死區”的所有討論都適用于let和const。
一個常量不能和它所在作用域內的其他變量或函數擁有相同的名稱。
示例
const 基本用法
常量在聲明的時候可以使用大小寫,但通常情況下全部用大寫字母。
// 定義常量MY_FAV并賦值7 const MY_FAV = 7; // 報錯 - Uncaught TypeError: Assignment to constant variable. MY_FAV = 20; // MY_FAV is 7 console.log('my favorite number is: ' + MY_FAV); // 嘗試重新聲明會報錯 // Uncaught SyntaxError: Identifier 'MY_FAV' has already been declared const MY_FAV = 20; // MY_FAV 保留給上面的常量,這個操作會失敗 var MY_FAV = 20; // 也會報錯 let MY_FAV = 20;
塊作用域
注意塊作用域的性質很重要
if (MY_FAV === 7) { // 沒問題,并且創建了一個塊作用域變量 MY_FAV // (works equally well with let to declare a block scoped non const variable) let MY_FAV = 20; // MY_FAV 現在為 20 console.log('my favorite number is ' + MY_FAV); // 這被提升到全局上下文并引發錯誤 var MY_FAV = 20; } // MY_FAV 依舊為7 console.log('my favorite number is ' + MY_FAV);
常量要求一個初始值
// 報錯 // Uncaught SyntaxError: Missing initializer in const declaration const FOO;
常量可以定義成對象和數組
const MY_OBJECT = {'key': 'value'}; // 重寫對象和上面一樣會失敗 // Uncaught TypeError: Assignment to constant variable. MY_OBJECT = {'OTHER_KEY': 'value'}; // 對象屬性并不在保護的范圍內 // 下面這個聲明會成功執行 MY_OBJECT.key = 'otherValue'; // Use Object.freeze() to make object immutable // 也可以用來定義數組 const MY_ARRAY = []; // 可以向數組填充數據 MY_ARRAY.push('A'); // ["A"] // 但是,將一個新數組賦給變量會引發錯誤 // Uncaught TypeError: Assignment to constant variable. MY_ARRAY = ['B'];
以上是“JavaScript中聲明常量的方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。