网页前端后台技巧(CSS+HTML)WebES5与ES6常用语法总结

【ES6】conts 常量

2018-09-08  本文已影响1人  德育处主任
微信订阅号:Rabbit_svip

ECMAScript 6 标准终于提供了const关键字。用来声明常量。

conts 常量:一旦被设定后就不能更改。

因此,每个通过conts声明的常量必须进行初始化(声明时就要赋值)。

const NUM = 30;

在声明常量时,通常会用大写字母来命名。
并不是硬性规定,只是在看到用大写字母的时候,能快速联想到是常量。这样容易与变量区分开。

conts 与 let 声明的都是块级标识符,所以常量也只在当前代码块内有效,一旦执行到块外会立即被销毁。

常量同样也不会被提升至作用域顶部,也就是说不会被预解析。

如果在声明常量前,用let或者var声明了同名的变量,在声明同名的常量时就会报错。

var a = 1;

// 这句语句会报错
const a = 2;

不管在严格模式还是在非严格模式下,都不可以为conts定义的常量再赋值,否则也会报错。

const NUM = 10;

// 这句语句会报错
NUM = 15;

但有一个例外。如果声明的常量是一个对象,或者指向一个对象,则对象中的值是可以被修改的。

const PERSON = {
    name: "Carrot"
};
    // 对象中的值可以被修改PERSON.name = "Rabbit";
    // 对象自身则不可以修改,否则会报错// 下面语句会报错

PERSON = {
    name: "Fox"
};

PERSON 的值是一个包含一个属性的对象,改变 PERSON.name 的值,不会报错,因为修改的是 PERSON 包含的值。如果直接给 PERSON 复制,即要改变 PERSON 的绑定,就会报错。


上一篇下一篇

猜你喜欢

热点阅读