ES6基本知识速成——新增关键字

JavaScript 中有一个提升机制,就是无论你在哪里使用 var 关键字声明变量,它都会被提升到当前作用域的顶部。使用 var 关键字声明的变量可以重复赋值,但在某些情况下会造成一些问题。使用 var 关键字定义的变量只有两种作用域,全局作用域和函数作用域,两者均不是块结构,

认识 let 关键字 

let 关键字,它解决了变量提升到作用域顶部的问题。因为它的作用域是,而不是提升机制了。

解决变量重复声明的问题

虽然 let 关键字声明的变量可以重新赋值,但是它与 var 关键字有所不同,let 关键字不能在同一作用域内重新声明,而 var 可以。

认识 const 关键字

对于 const 关键字定义的变量值,不可改变在于两个方面:

1. 值类型

值类型是指变量直接存储的数据,例如:

const num = 20;

这里 num 变量就是值类型,我们使用的是 const 关键字来定义 num,故赋予变量 num 的值 20 是不可改变的。

2. 引用类型

引用类型是指变量存储数据的引用,而数据是放在数据堆中,比如,用 const 声明一个数组

const arr = ["一", "二", "三"];

但是,使用 const 关键字定义的引用类型还是可以通过数组下标去修改值 ⭐️。

例如:

const arr = ["一", "二", "三"];
arr[0] = "四";
arr[1] = "五";
arr[2] = "六";

console.log(arr);

在控制台会显示:

 

需要记住使用 const 关键字声明的是常量,必须赋初始值,并且不能在同一作用域内重新声明,也无法重新赋值。

 const、let、var 三者之间的区别:

  • var 语句的作用域是函数作用域或者全局作用域;它没有块作用域,故不存在暂时死区;它可分配,也可重复性声明。
  • let 语句属于块作用域,受到暂时死区的约束;它可分配,但不可重新声明。
  • const 语句也属于块作用域,同样受到暂时死区的约束;它既不可重新分配,也不可重新声明。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值