欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

学习笔记 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