内容 |
const和let一样,也是ES6版本中引入的新关键字,下面我们就通过例子来简单掌握JavaScript中const关键词声明常量与变量的用法 ES6引入的第三个声明类关键词与let类似:const。 看一下用法: const c1 = 1; const c2 = {}; const c3 = []; Object.getOwnPropertyDescriptor(window,"c1") //Object {value: 1, writable: false, enumerable: true, configurable: false} 上面的例子说,不能在对c2进行赋值,但是可以改变c2的内容,因为c2是个对象,看例子: c2.p1 = 1; 同样,也可以往c3中添加元素,因为c3是个数组。 const声明常量还有个问题,就是声明和初始化必须在一起,声明了就要初始化: 'use strict'; const c4;//Uncaught SyntaxError: Unexpected token ; 去掉分号仍然会报错,我们这里不讨论非strict mode下的情况,有兴趣的可以自己去试。 const声明的变量与let声明的变量类似,它们的不同之处在于,const声明的变量只可以在声明时赋值,不可随意修改,否则会导致SyntaxError(语法错误)。 const MAX_CAT_SIZE_KG = 3000; // 正确 MAX_CAT_SIZE_KG = 5000; // 语法错误(SyntaxError) MAX_CAT_SIZE_KG++; // 虽然换了一种方式,但仍然会导致语法错误 当然,规范设计的足够明智,用const声明变量后必须要赋值,否则也抛出语法错误。 const theFairest; // 依然是语法错误,你这个倒霉蛋
|