概述
1.块级作用域 {}
ES6 中新增了块级作用域。块作用域由 { } 包括,if语句和 for语句里面的{ }也属于块作用域。
let 和 const 都是 块级作用域,声明的变量只在所在的代码块内有效。
在ES6之前,var声明的变量都会声明提前,并且造成全局变量的污染,所以在ES6中,诞生了let 和 const 防止这种情况的出现。
2.let
let 用来声明变量,跟var用法一样,不同的只有下面几点:
let声明的变量不会挂在window中,不会造成全局变量的污染
let num = 10;
console.log(num) //10
console.log(window.num) //undefined
只在所在的代码块内有效 (块级作用域,{})
{
let num = 10;
console.log(num) //10
}
console.log(num) //报错
let是不允许重复声明
let a = 10;
let a = 20;
console.log(a);//'a' has already been declared
let不会有声明提前(实际上是有声明提前,提前在临时性的死区中)
console.log(a);//Cannot access 'a' before initialization
let a = 10;
//a提前到了临时性的死区中
3.const
const 声明一个只读的常量,一旦声明,常量的值就不能改变。意味着,一旦声明必须初始化,否则会报错。
let有的的它都有,这里就不多介绍
只读,不允许被修改(不允许改变内存空间的地址)
const a = 100;
a = 10;Assignment to constant variable
console.log(a);
在不改变内存空间的地址的情况下,可以给修改引用类型
const obj = {};
obj.name = "jack";
console.log(obj)
const声明和赋值必须一次性完成,并且后期不允许改变存储空间的地址
const a;//Missing initializer in const declaration
console.log(a);
最后
以上就是碧蓝白开水为你收集整理的ES6中的 let 和 const的全部内容,希望文章能够帮你解决ES6中的 let 和 const所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复