前端基础ES6——var、let、const的区别

前端基础ES6——var、let、const的区别

背景

日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。
同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。

内容

ES6中作用域主要分为三种:全局作用域、函数作用域、块作用域。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<script type="text/javascript">
var a = 123; // 全局作用域
console.log(a); // 这里打印123
// 函数作用域
(function test() {
console.log(a); // 这里仍然可以打印123
var b = 456;
console.log(b); // 这里打印456
})();
console.log(b); // 报错,由于b是在函数作用域中。
{
let c = 789;
console.log(c); // 这里打印789
}
console.log(c); // 报错

const demo = {
name : '张三',
age : '12岁'
}
// 这里报错,由于其常量不可更改特性。
demo = {
name : '张三2',
age : '14岁'
}
</script>

块级作用域使用{}进行包括,使用if等关键词时{}也属于块作用域。

  • let 用来定义变量,用于块作用域中
  • var 用来定义变量,用于全局作用域和函数作用域
  • const 用来定义敞亮,必须初始值,用于块级作用域,不可修改。
本文声明:

88x31.png
知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

阅读更多