javascript es6的常用語法你知道嗎
阿新 • • 發佈:2022-01-24
目錄
- 1.const常量標識
- 1.不允許重複宣告賦值
- 2.塊級作用域
- 3.無變數提升
- 4.dead zone (死區)
- 5.let or cosnt
- 總結
- 1.不允許重複宣告賦值
- 2.塊級作用域
- 3.無變數提升
- 4.dead zone (死區)
- 5.let or cosnt
- 總結
1.const常量標識
1.不允許重複宣告賦值
const args='kenneth' const args="kenneth"
es5實現宣告常量
Object.defineProperty(window,"args",{ value: ' this is es5',writable: false })
2.塊級作用域
if(true){ const args=123 } console.log(args)
3.無變數提升
console.log(args) const args=1
var args=123 console.log(window.args) //123 cosnt args1=456 console.log(window.args1) //cosnt不在window中
4.dead zone (死區)
ihttp://www.cppcns.comf(true){
console.log(infor)
const infor=123
}
專屬報錯:
5.let www.cppcns.comor cosnt
const obj={ id:1,age:18,name:'aaa' } obj.age=19 // cosnt 建立一個物件,物件中的屬性可以被改客棧變 //解決:凍結物件,一個被凍結的物件再也不能被修改 Object.freeze() const obj2={ id:2,name:'bbb',age:20,food:['banana','apple'] } Object.freeze(obj2) obj2.age=21 //被Object.freeze()凍結後,不可以改變 obj2.foods[1]='pear' //可以改變 freeze只能凍結根層 巢狀引用型別需要巢狀遞迴 //實現建立引用型別: function deepFreeze(obj) { Object.freeze(obj); (Object.keys(obj) || []).forEach((key) => { let innerObj = obj[key] if (typeof innerObj === 'object') { deepFreeze(innerObj); http://www.cppcns.com} } ) } const tempObj = { id: 23,name: '1',food: ['banana','apple'] } deepFreeze(tempObj)
總結
本篇文章就到這裡了,希望能夠給你帶來幫助,也希望您能夠多多關注我們的更多內容!
1.const常量標識
1.不允許重複宣告賦值
const args='kenneth' const args="kenneth"
es5實現宣告常量
Object.defineProperty(window,writable: false })
2.塊級作用域
if(true){ const args=123 } console.log(args)
3.無變數提升
console.log(args) const args=1
var args=123 console.log(window.args) //123 cosnt args1=456 console.log(window.args1) //cosnt不在window中
4.dead zone (死區)
if(true){ console.log(infor) const infor=123 }
專屬報錯:
5.let or cosnt
const obj={ id:1,name:'aaa' } obj.age=19 // cosnt 建立一個物件,物件中的屬性可以被改變 //解決:凍結物件,'apple'] } Object.freeze(obj2) obj2.age=21 //被Object.freeze()凍結後,不可以改變 obj2.foods[1]='pear' //可以改變 freeze只能凍結根層 巢狀引用型別需要巢狀遞迴 //實現建立引用型別: function deepFreeze(obj) { Object.freeze(obj); (Object.keys(obj) || []).forEach((key) => { let innerObj = obj[key] if (typeof innerObj === 'object') { deepFreeze(innerObj); } } ) } const tempObj = { id: 23,'apple'] } deepFreeze(tempObj)
總結
本篇文章就到這裡了,希望能夠給你帶來幫助,也希望您能夠多多關注我們的更多內容!