ES6笔记 概念与新增语法 const命令 Ⅲ

1.定义

① 声明一个只读的常量。

②声明常量时一定要赋值,不然会报错,

const foo;
// SyntaxError: Missing initializer in const declaration
//              丢失了它的初始值

③ 声明的变量不得改变值 , 一旦声明变量,就必须立即初始化,不能留到以后赋值。

④只能同时声明和赋值 或先声明后使用

⑤ 声明的常量,也与let一样不可重复声明。

⑥既然是常量不能重新进行赋值,如果是基本数据类型,不能更改值,如果是复杂数据类型,不能更改地址值

总结Ⅰ:

ES6变量用 let 常量用const 都没有变量提升,④,都是块级作用域。

2.本质

①内存地址所保存的数据不得改动 ,

②对于值类型就保存在(栈里面)变量指向的那个内存地址 (堆和栈)

③ 对于复合(引用)类型的数据(主要是对象和数组 在栈里只有一个地址,都保存在堆里) 变量指向的内存地址

④ 只能保证这个指针是固定的

案例

Ⅰ:

const arr =[1,2,3];
consoLe. log(arr);
arr.push(4);//数组、对象可以扩展属性和方法consoLe.log(arr);//[1,2,3,4]

Ⅱ: 将对象冻结,应该使用Object.freeze方法。

const arr = Object.freeze([1,2,3]);//Object.freeze(对象)冻结对象的属性和方法
consoLe.log(arr);
arr.push(4);//报错,对象被冻结,不可以扩展属性和方法
consoLe.log(arr);//
总结Ⅱ:

① let、coAst、var的区别

  • 使用var声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象
  • 使用let声明的变量,其作用域为该语句所在的代码块内,不存在变量提升
  • 使用const声明的是常量,在后面出现的代码中不能再修改该常量的值
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值