JavaScript Const
ECMAScript 2015
ES2015 ya ɗanɗe:let
a ɗanɗe: const
.
通过 const
Ƙarfin a naa iya ɗanɗe: let
Ƙarfin a naa iya ɗanɗe:
实例
const PI = 3.141592653589793; PI = 3.14; // za a iya ɗanɗe: PI = PI + 10; // za a iya ɗanɗe:
ɗanɗe ɗauki ceke:
a ɗanɗe:ɗanɗe ɗauki ceke:a ɗanɗe: const
Ƙarfin a naa iya ɗanɗe: let
Ƙarfin za a iya ɗanɗe:
Anɗe kaiya ceke, x za a iya ɗanɗe a ɗanɗe:
实例
var x = 10; // ɗanɗe, x ce 10 { const x = 6; // ɗanɗe, x ce 6 } // ɗanɗe, x ce 10
Anɗe kaiya ceke: JavaScript Let Anɗe kaiya ceke ɗauki ceke:
a ɗanɗe ɗanɗe:
JavaScript const
Ƙarfin a naa iya ɗanɗe ɗanɗe ɗanɗe a ɗanɗe ɗanɗe:
Za a iya ɗanɗe:
const PI; PI = 3.14159265359;
Za a iya ɗanɗe:
const PI = 3.14159265359;
Za a iya ɗanɗe:
Kodom: const
Za a iya ɗanɗe:
Anɗe kaiya ceke ɗauki ceke ɗauki ceke za a iya ɗanɗe:
Dahaba, a naa iya ɗanɗe ɗanɗe ceke ɗauki ceke, amma a naa iya ɗanɗe ceke ɗauki ceke ceke:
ɗauki ceke:
Tashe a naa ɗanɗe ɗauki ceke, a naa iya ɗanɗe ɗanɗe:
实例
const PI = 3.141592653589793; PI = 3.14; // za a iya ɗanɗe: PI = PI + 10; // za a iya ɗanɗe:
Ceke ɗauki ceke za a iya ɗanɗe:
Anɗe kaiya ceke ɗauki ceke:
实例
// ɗanɗe kaiya ceke const: const car = {type:"porsche", model:"911", color:"Black"}; // ɗanɗe kaiya ceke: car.color = "White"; // 您可以添加属性: car.owner = "Bill";
但是您无法重新为常量对象赋值:
实例
const car = {type:"porsche", model:"911", color:"Black"}; car = {type:"Volvo", model:"XC60", color:"White"}; // ERROR
常量数组可以更改
您可以更改常量数组的元素:
实例
// 您可以创建常量数组: const cars = ["Audi", "BMW", "porsche"]; // 您可以更改元素: cars[0] = "Honda"; // 您可以添加元素: cars.push("Volvo");
但是您无法重新为常量数组赋值:
实例
const cars = ["Audi", "BMW", "porsche"]; cars = ["Honda", "Toyota", "Volvo"]; // ERROR
浏览器支持
Internet Explorer 10 或更早版本不支持 const
关键词。
下表定义了第一个完全支持 const 关键词的浏览器版本:
Chrome 49 | IE / Edge 11 | Firefox 36 | Safari 10 | Opera 36 |
2016 年 3 月 | 2013 年 10 月 | 2015 年 2 月 | 2016 年 9 月 | 2016 年 3 月 |
重新声明
在程序中的任何位置都允许重新声明 JavaScript var
变量:
实例
var x = 2; // 允许 var x = 3; // 允许 x = 4; // 允许
在同一作用域或块中,不允许将已有的 var
或 let
变量重新声明或重新赋值给 const
:
实例
var x = 2; // 允许 const x = 2; // 不允许 { let x = 2; // 允许 const x = 2; // 不允许 }
在同一作用域或块中,为已有的 const 变量重新声明声明或赋值是不允许的:
实例
const x = 2; // 允许 const x = 3; // 不允许 x = 3; // 不允许 var x = 3; // 不允许 let x = 3; // 不允许 { const x = 2; // 允许 const x = 3; // 不允许 x = 3; // 不允许 var x = 3; // 不允许 let x = 3; // 不允许 }
在另外的作用域或块中重新声明 const
是允许的:
实例
const x = 2; // 允许 { const x = 3; // 允许 } { const x = 4; // 允许 }
提升
通过 var
定义的变量会被提升到顶端。如果您不了解什么是提升(Hoisting),请学习提升这一章。
您可以在声明 var 变量之前就使用它:
实例
carName = "Volvo"; // 您可以在此处使用 carName var carName;
通过 const
定义的变量不会被提升到顶端。
const
变量不能在声明之前使用:
实例
carName = "Volvo"; // 您不可以在此处使用 carName const carName = "Volvo";