es6关于let和const的总结
生活随笔
收集整理的這篇文章主要介紹了
es6关于let和const的总结
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
set用于聲明變量
1.var 的一個升級版
2.不存在變量提升
console.log(a);//Uncaught ReferenceError: a is not definedlet a=1;console.log(a);//1 console.log(a);//undefinedvar a=1;console.log(a);//13.會形成暫時性死區(qū)(處于同一個塊級作用域里的同名變量在let聲明之前使用都會報錯)
let a=2;console.log(a);//報錯var a=1;console.log(a);?4.在同一個塊級作用域里面不允許重復(fù)聲明同一個變量
if(2>1){let a=1;var a=2;console.log(a)}//報錯 if(2>1){let a=1;let a=2;console.log(a)}//報錯 if(2>1){let a=1;a=2;console.log(a)}//25.塊級作用域(不在同一個塊里面的變量不會互相影響,①內(nèi)層變量不能覆蓋外層變量;②循環(huán)變量不會泄漏為全局變量;③var的for循環(huán)會發(fā)生值得覆蓋,let的for循環(huán)會將每一次循環(huán)產(chǎn)生的值儲存)
let a=3;if(2>1){let a=1;if(3>2){let a=2console.log(a)//2} console.log(a);//1 }; console.log(a)//3 for(var i=0;i<5;i++){var a=2;};console.log(i)//5 var arr=[];for(var i=0;i<5;i++){function f(){console.log(i)};arr.push(f)};arr.forEach(function(e){console.log(e())})//5,5,5,5,5 var arr=[];for(let i=0;i<5;i++){function f(){console.log(i)};arr.push(f)};arr.forEach(function(e){console.log(e())})//0,1,2,3,4const用來聲明變量
1.一旦聲明,其值不能發(fā)生改變
const a=1; a=2;//報錯2.一旦聲明變量就必須賦值
const a;//報錯3.對于復(fù)合型變量,變量名不指向數(shù)據(jù),而是指向數(shù)據(jù)所在地址,因此const只會保證變量名指向的地址不會變,不會保證數(shù)據(jù)不變
?
const obj={}; obj.name='張三'; console.log(obj.name)//'張三'?
const a=[];a.push('王煒');console.log(a[0])//王煒4.可以采用object.freeze方法將對象凍結(jié)
?
const obj=obj.freeze({}); obj.name="王煒"; console.log(obj.name)//報錯?
5.擁有塊級作用域,只在聲明的塊里面有用
?
if(true){const a=1; }; console.log(a)//Uncaught ReferenceError: a is not defined?
轉(zhuǎn)載于:https://www.cnblogs.com/douyaer/p/7648282.html
總結(jié)
以上是生活随笔為你收集整理的es6关于let和const的总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 显示中文
- 下一篇: 裸眼3D全攻略3:拍摄3D—瞳距、镜距、