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

2021-11-24 16:51:47 浏览数 (1)

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

背景

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

内容

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

代码语言:javascript复制
<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 用来定义敞亮,必须初始值,用于块级作用域,不可修改。
本文声明:

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

0 人点赞