javascript es6的常用語法你知道嗎
1.const常量標(biāo)識(shí)
1.不允許重復(fù)聲明賦值
const args='kenneth' const args="kenneth"
es5實(shí)現(xiàn)聲明常量
Object.defineProperty(window,"args",{ value: ' this is es5', writable: false })
2.塊級(jí)作用域
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 (死區(qū))
if(true){ console.log(infor) const infor=123 }
專屬報(bào)錯(cuò):
5.let or cosnt
const obj={ id:1, age:18, name:'aaa' } obj.age=19 // cosnt 創(chuàng)建一個(gè)對(duì)象,對(duì)象中的屬性可以被改變 //解決:凍結(jié)對(duì)象,一個(gè)被凍結(jié)的對(duì)象再也不能被修改 Object.freeze() const obj2={ id:2, name:'bbb', age:20, food:['banana','apple'] } Object.freeze(obj2) obj2.age=21 //被Object.freeze()凍結(jié)后,不可以改變 obj2.foods[1]='pear' //可以改變 freeze只能凍結(jié)根層 嵌套引用類型需要嵌套遞歸 //實(shí)現(xiàn)創(chuàng)建引用類型: 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, name: '1', food: ['banana', 'apple'] } deepFreeze(tempObj)
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
1.const常量標(biāo)識(shí)
1.不允許重復(fù)聲明賦值
const args='kenneth' const args="kenneth"
es5實(shí)現(xiàn)聲明常量
Object.defineProperty(window,"args",{ value: ' this is es5', writable: false })
2.塊級(jí)作用域
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 (死區(qū))
if(true){ console.log(infor) const infor=123 }
專屬報(bào)錯(cuò):
5.let or cosnt
const obj={ id:1, age:18, name:'aaa' } obj.age=19 // cosnt 創(chuàng)建一個(gè)對(duì)象,對(duì)象中的屬性可以被改變 //解決:凍結(jié)對(duì)象,一個(gè)被凍結(jié)的對(duì)象再也不能被修改 Object.freeze() const obj2={ id:2, name:'bbb', age:20, food:['banana','apple'] } Object.freeze(obj2) obj2.age=21 //被Object.freeze()凍結(jié)后,不可以改變 obj2.foods[1]='pear' //可以改變 freeze只能凍結(jié)根層 嵌套引用類型需要嵌套遞歸 //實(shí)現(xiàn)創(chuàng)建引用類型: 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, name: '1', food: ['banana', 'apple'] } deepFreeze(tempObj)
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
JavaScript學(xué)習(xí)筆記整理_關(guān)于表達(dá)式和語句
下面小編就為大家?guī)硪黄狫avaScript學(xué)習(xí)筆記整理_關(guān)于表達(dá)式和語句。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09jQuery中文入門指南,翻譯加實(shí)例,jQuery的起點(diǎn)教程
jQuery中文入門指南,翻譯加實(shí)例,jQuery的起點(diǎn)教程...2007-02-02整理JavaScript對(duì)DOM中各種類型的元素的常用操作
這篇文章主要介紹了JavaScript對(duì)DOM中各種類型的元素的常用操作整理,DOM操作是JavaScript程序的一大根本任務(wù),需要的朋友可以參考下2016-05-05javascript數(shù)組去重方法總結(jié)(推薦)
這篇文章主要介紹了javascript數(shù)組去重方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03每個(gè)程序員都需要學(xué)習(xí) JavaScript 的7個(gè)理由小結(jié)
這篇文章主要介紹了每個(gè)程序員都需要學(xué)習(xí) JavaScript 的7個(gè)理由小結(jié),需要的朋友可以參考下2016-09-09Javascript學(xué)習(xí)筆記之 對(duì)象篇(三) : hasOwnProperty
判斷一個(gè)屬性是定義在對(duì)象本身而不是繼承自原型鏈,我們需要使用從 Object.prototype 繼承而來的 hasOwnProperty 方法。 hasOwnProperty 方法是 Javascript 中唯一一個(gè)處理對(duì)象屬性而不會(huì)往上遍歷原型鏈的。2014-06-06