学习笔记 JavaScript ES6 声明方式const(一)

今天学习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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值