概述
1.let的使用
let a = 1;
console.log(a);
- let声明的变量只在所在的代码块有效,有块级作用域效果。
- 使用let声明变量时,需要先声明后使用。否则报错:ReferenceError: Cannot access ‘x’ before initialization
- 如果块级作用域种存在let命令,那么所声明的变量就绑定在这个区域了,不会受外部区域影响。与此同时该区域的引用规则为let的引用规则。在let命令之前和块级作用域之后这段区域称之为暂时性死区(temporal dead zone,TDZ)
- let声明方式在本块级作用中不允许重复性声明。
2.const的使用
const PI = 3.14
- 一但声明,其值不允许改变
- 因为值无法改变,所以一但声明必须赋值,否则没有意义。
- 本质: const实际上保证的并不是变量的值不得改动,而是变量指向的那个内存地址不得改动。
- 这对于简单类型,值就保存在内存地址中
- 对于复合类型,内存地址是另一个地址,const只保证这个内存地址不 变,而另一个地址指向的内容可不可变是不可以控制的。
3.块级作用域
3.1 为什么需要块级作用域?
- 内层变量可能会覆盖外层变量
var tmp = new Date()
function f(){
console.log(tmp);
if(false){
var tmp = 'sss'
}
}
undefined
- 用来计数的的循环变量会泄露为全局变量
var s = 'hello'
console.log(i);//undefined
for(var i = 0; i < s.length;i++){
console.log(s[i]);
}
console.log(i);//5
undefined
h
e
l
l
o
5
补充:
- es6声明变量的6种方法:var、function、let、const、import、class
最后
以上就是合适冬天为你收集整理的es6-01-let、const、块级作用域的全部内容,希望文章能够帮你解决es6-01-let、const、块级作用域所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复