首页
会员中心
到顶部
到尾部
JavaScript教程

JavaScript Const

时间:2020/11/2 14:54:51  作者:  来源:  查看:0  评论:0
内容摘要:JavaScript ConstJS LetJS 调试ECMAScript 2015ES2015 引入了两个重要的 JavaScript 新关键词:let 和 const。通过 const 定义的变量与 let 变量类似,但不能重新赋值:实例const PI = 3.141592...

JavaScript Const

ECMAScript 2015

ES2015 引入了两个重要的 JavaScript 新关键词:letconst

通过 const 定义的变量与 let 变量类似,但不能重新赋值:

实例

const PI = 3.141592653589793;PI = 3.14;      // 会出错PI = PI + 10;   // 也会出错

亲自试一试

块作用域

块作用域内使用 const 声明的变量与 let 变量相似。

在本例中,x 在块中声明,不同于在块之外声明的 x:

实例

var x = 10;// 此处,x 为 10{   const x = 6;  // 此处,x 为 6}// 此处,x 为 10

亲自试一试

您可以在上一章 JavaScript Let 中学到更多有关块作用域的知识。

在声明时赋值

JavaScript const 变量必须在声明时赋值:

不正确

const PI;PI = 3.14159265359;

正确

const PI = 3.14159265359;

不是真正的常数

关键字 const 有一定的误导性。

它没有定义常量值。它定义了对值的常量引用。

因此,我们不能更改常量原始值,但我们可以更改常量对象的属性。

原始值

如果我们将一个原始值赋给常量,我们就不能改变原始值:

实例

const PI = 3.141592653589793;PI = 3.14;      // 会出错PI = PI + 10;   // 也会出错

亲自试一试

常量对象可以更改

您可以更改常量对象的属性:

实例

// 您可以创建 const 对象:const car = {type:"porsche", model:"911", color:"Black"};// 您可以更改属性: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 49IE / Edge 11Firefox 36Safari 10Opera 36
2016 年 3 月2013 年 10 月2015 年 2 月2016 年 9 月2016 年 3 月

重新声明

在程序中的任何位置都允许重新声明 JavaScript var 变量:

实例

var x = 2;    //  允许var x = 3;    //  允许x = 4;        //  允许

在同一作用域或块中,不允许将已有的 varlet 变量重新声明或重新赋值给 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";    // 您可以在此处使用 carNamevar carName;

亲自试一试

通过 const 定义的变量不会被提升到顶端。

const 变量不能在声明之前使用:

实例

carName = "Volvo";    // 您不可以在此处使用 carNameconst carName = "Volvo";


上一篇:JavaScript Let
下一篇:JavaScript 调试
相关评论
广告联系QQ:45157718 点击这里给我发消息 电话:13516821613 杭州余杭东港路118号雷恩国际科技创新园  网站技术支持:黄菊华互联网工作室 浙ICP备06056032号