学习笔记 JavaScript ES6 声明方式const(一)
程序员文章站
2022-07-16 22:11:43
...
今天学习ES6当中定义常量。
先来复习下ES5当中是如何定义常量的,通过如下方法在一个对象上定义新的属性来定义一个常量,见如下代码:
// 这个方法有3个参数
// 第1个参数是在哪个对象上定义属性
// 第2个参数是属性名称
// 第3个参数是对象
Object.defineProperty(window,'PI',{
value:3.1415926,
writable:false // 将属性定义为不可写
})
console.log(PI)
--------------------------
3.1415926
此时改变PI的值,发现值是不会被改变的
PI = 1
console.log(PI)
-----------
3.1415926
ES6中通过const关键字来定义常量
const a = 1
a = 2 // 这里给a再次赋值时,会报异常
-----------------------------------------------------------
Uncaught TypeError: Assignment to constant variable.
定义常量时必须赋初始值
const a
a = 2
-----------------------------------------------------------------
Uncaught SyntaxError: Missing initializer in const declaration
const的声明只会在所在的块级作用域内有效
if(true) {
const a = 7
}
console.log(a) // 异常
-------------------------------------------
Uncaught ReferenceError: a is not defined
const不存在提升,会存在暂时性死区,必须声明后再使用
if(true) {
console.log(a) // 先使用,后面再定义,异常。。。
const a = 7
}
--------------------------------------------------------------------
Uncaught ReferenceError: Cannot access 'a' before initialization
上一篇: 阮一峰ES6学习笔记
下一篇: ES6中的类