es6語(yǔ)法有塊級(jí)作用域,由一對(duì)大括號(hào)包裹形成的作用域就是塊級(jí)作用域。es6引用了塊級(jí)作用域,允許在塊級(jí)作用域中聲明函數(shù);函數(shù)聲明語(yǔ)句的行為類(lèi)似于let,在塊級(jí)作用域之外不可以引用。
本教程操作環(huán)境:windows10系統(tǒng)、ECMAScript 6.0版、Dell G3電腦。
es6語(yǔ)法有塊級(jí)作用域嗎
es6語(yǔ)法有塊級(jí)作用域
由一對(duì)大括號(hào)包裹形成的作用域就是塊級(jí)作用域
ES6 引入了塊級(jí)作用域,明確允許在塊級(jí)作用域之中聲明函數(shù)。ES6 規(guī)定,塊級(jí)作用域之中,函數(shù)聲明語(yǔ)句的行為類(lèi)似于let,在塊級(jí)作用域之外不可引用。
在ES6之前JavaScript是沒(méi)有塊級(jí)作用域的,所有的變量都通過(guò)var關(guān)鍵字去聲明,即在控制語(yǔ)句中的變量也可以在外部的作用域去訪(fǎng)問(wèn)。
隨著ES6的到來(lái)JavaScript給我們帶來(lái)的let 和 const關(guān)鍵字,也讓它本身?yè)碛辛藟K級(jí)作用域的概念( { }內(nèi)部都是塊級(jí)作用域,在測(cè)試小demo的時(shí)候可以使用{ }來(lái)創(chuàng)建一個(gè)塊級(jí)作用域來(lái)避免變量名稱(chēng)的沖突 )。我們?cè)诳刂普Z(yǔ)句中使用let 和 const定義的變量外部是不可以訪(fǎng)問(wèn)的。如果全局作用域中沒(méi)有定義相同名稱(chēng)的變量會(huì)報(bào)相應(yīng)的錯(cuò)誤:
用處:在你需要一些臨時(shí)的變量的時(shí)候,塊級(jí)作用域就可以發(fā)揮他的作用。而通過(guò)創(chuàng)建塊級(jí)作用域,我們就不會(huì)擔(dān)心會(huì)不會(huì)搞亂其他人定義的全局變量,我們就可以根據(jù)自己的想法來(lái)定義自己的變量了。
【