-
ES6 中 通過(guò)const來(lái)聲明一個(gè)常量,
查看全部 -
ES5中 通過(guò)下面的方式聲明常量,Objec.definePropery(window,'es',{
? ?value:'es6',
? ?writable:false
})
查看全部 -
live server插件查看全部
-
箭頭函數(shù)沒(méi)有this查看全部
-
基本數(shù)據(jù)類(lèi)型存在棧內(nèi)存里面
引用數(shù)據(jù)類(lèi)型存在堆內(nèi)存里面
實(shí)質(zhì)上是地址不能被改變
凍結(jié)對(duì)象Object.freeze(函數(shù)),但只能淺層次凍結(jié)
Object.keys(obj).forEach(function(key))
查看全部 -
const設(shè)置常量時(shí)一開(kāi)始就要賦初始值,不允許重復(fù)聲明;不屬于頂層對(duì)象window,沒(méi)有變量提升(需要先聲明后使用);具有塊級(jí)作用域,在括號(hào)內(nèi)有用,超過(guò)括號(hào)沒(méi)有用
查看全部 -
const常量總結(jié)
查看全部 -
ES6思維導(dǎo)圖
查看全部 -
mark思維導(dǎo)圖
查看全部 -
箭頭函數(shù)中,this將向外層作用域查找指向;
箭頭函數(shù)中,不能使用arguments參數(shù)
查看全部 -
Object.freeze同樣可能會(huì)引入bug(編譯通過(guò),運(yùn)行不是預(yù)期結(jié)果,還不報(bào)錯(cuò)。omg!)查看全部
-
類(lèi)比一下其它語(yǔ)言: 1、java中final關(guān)鍵字修飾的變量就是java中的常量,可以通過(guò)反射修改訪問(wèn)屬性,從而“改變”常量。 2、C和C++通過(guò)const定義的常量呢?多年不用,都忘了,有小伙伴知道嗎?查看全部
-
Object.defineProperty、writable=false定義的常量,可以重復(fù)賦值(編譯通過(guò)),但是不會(huì)生效(運(yùn)行時(shí)失敗,卻不報(bào)錯(cuò))。所以這種方法可會(huì)隱藏一些程序bug。查看全部
-
var會(huì)污染全局變量window。 var會(huì)代碼提升(未定義的產(chǎn)量自動(dòng)識(shí)別下文有沒(méi)有定義)查看全部
-
1、變量定義的發(fā)展歷程
ES3定義常量通常使用var 聲明一個(gè)名稱(chēng)大寫(xiě)的變量,本質(zhì)還是變量;
ES5定義常量: -- 但定義之后再去修改值并不會(huì)報(bào)錯(cuò)Object.defineProperty(window, 'es', {
????value: 'es6',
????writable: false // 不允許修改
})? ?
es6中定義常量使用const進(jìn)行聲明
2、const關(guān)鍵字特性
不允許重復(fù)聲明 -- 重復(fù)聲明會(huì)報(bào)錯(cuò)
不屬于頂層對(duì)象window,但是使用var聲明的變量屬于window對(duì)象
不存在變量提升 -- 先聲明在使用,且聲明的時(shí)候必須賦值
暫時(shí)性死區(qū) -- 在聲明之前使用會(huì)報(bào)錯(cuò),在當(dāng)前的作用域聲明之前會(huì)形成一個(gè)暫時(shí)性的死區(qū)
塊級(jí)作用域 -- 花括號(hào)之內(nèi),避免污染全局
查看全部
舉報(bào)