const是javascript內建的一個關鍵字,const用來宣告一個或多個常數,可以宣告只讀的常數,宣告時必須進行初始化,一旦聲明,常數的值就不能改變。一個常數不能和它所在作用域內的其他變數或函數擁有相同的名稱。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
ES2015(ES6) 新增了兩個重要的 JavaScript 關鍵字: let 和 const。
let 宣告的變數只在 let 指令所在的程式碼區塊內有效。
const 用於宣告一個或多個常數,宣告時必須進行初始化,且初始化後值不可再修改:
const PI = 3.141592653589793; PI = 3.14; // 报错 PI = PI + 10; // 报错
const定義常數與使用let 定義的變數相似:
二者都是區塊級作用域
都不能和它所在作用域內的其他變數或函數擁有相同的名稱
兩者還有以下兩點差異:
const宣告的常數必須初始化,而let宣告的變數不用
#const 定義常數的值不能再賦值修改,也不能再宣告。而 let 定義的變數值可以修改。
var x = 10; // 这里输出 x 为 10 { const x = 2; // 这里输出 x 为 2 } // 这里输出 x 为 10
const 宣告的常數必須初始化:
// 错误写法 const PI; PI = 3.14159265359; // 正确写法 const PI = 3.14159265359;
不是真正的常數
const 的本質: const 定義的變數並非非常量,並非不可變,它定義了一個常數引用一個值。使用 const 定義的物件或數組,其實是可變的。下面的程式碼並不會報錯:
// 创建常量对象 const car = {type:"Fiat", model:"500", color:"white"}; // 修改属性: car.color = "red"; // 添加属性 car.owner = "Johnson";
但是我們不能對常數物件重新賦值:
const car = {type:"Fiat", model:"500", color:"white"}; car = {type:"Volvo", model:"EX60", color:"red"}; // 错误
以下實例修改常數數組:
// 创建常量数组 const cars = ["Saab", "Volvo", "BMW"]; // 修改元素 cars[0] = "Toyota"; // 添加元素 cars.push("Audi");
但是我們不能對常數數組重新賦值:
const cars = ["Saab", "Volvo", "BMW"]; cars = ["Toyota", "Volvo", "Audi"]; // 错误
更多程式相關知識,請造訪:程式設計影片! !
以上是javascript中什麼是const的詳細內容。更多資訊請關注PHP中文網其他相關文章!