摘要:入門一前言由于最近本人在學(xué)習(xí),做一些筆記能夠更好的熟悉,就趁此機(jī)會(huì)來(lái)寫(xiě)一篇關(guān)于的新人學(xué)習(xí)摘要吧。的作用域與命令相同只在聲明所在的塊級(jí)作用域內(nèi)有效。塊級(jí)作用域新增方式和實(shí)際上為新增了塊級(jí)作用域。同時(shí),函數(shù)聲明還會(huì)提升到所在的塊級(jí)作用域的頭部。
ECMAScript6/ES6 入門 一、前言
由于最近本人在學(xué)習(xí)ES6,做一些筆記能夠更好的熟悉,就趁此機(jī)會(huì)來(lái)寫(xiě)一篇關(guān)于ES6的新人學(xué)習(xí)摘要吧。希望大佬可以給出一些意見(jiàn),也希望和我一樣的新人能更好更快的了解和熟悉ES6。
首先在這邊我要感謝阮大大~有這么好的入門教程(搬運(yùn)工,部分內(nèi)容不講述)。
其次注明本文只用于本人和其他新手了解熟悉ES6,非其他用途。
下面就開(kāi)始我們簡(jiǎn)單的學(xué)習(xí)吧~
不多贅述,ES6兼容性
三、let和const命令在學(xué)習(xí)let和const之前,我們先來(lái)了解一下塊級(jí)作用域,塊級(jí)作用域主要適用兩種場(chǎng)景,一種是內(nèi)層變量覆蓋外層變量;第二種場(chǎng)景是用來(lái)計(jì)數(shù)的循環(huán)變量泄露為全局變量。
// 第一種場(chǎng)景 var tmp = new Date(); function f() { console.log(tmp); if (false) { var tmp = "hello world"; } } f(); // undefined // 第二種場(chǎng)景 var s = "hello"; for (var i = 0; i < s.length; i++) { console.log(s[i]); } console.log(i); // 5
塊級(jí)作用域能很好的解決這兩方面的問(wèn)題,如何增加塊級(jí)作用域呢?等我們學(xué)習(xí)完let和const再來(lái)詳述。
1、let和var一樣,用來(lái)聲明變量,差別在于let申明的變量的作用域只針對(duì)于let命令所在的代碼塊內(nèi)。
{ let a = 10; var b = 1; } a // ReferenceError: a is not defined. b // 1
在代碼塊中我們分別以let和var申明了a,b兩個(gè)變量,在打印a,b兩個(gè)變量的時(shí)候發(fā)現(xiàn)用var聲明的變量b的值是能正確打印的,但是用let申明的a變量報(bào)錯(cuò),這表面兩者申明的作用域不同。
用let申明的變量無(wú)變量提升
// var 的情況 console.log(foo); // 輸出undefined var foo = 2; // let 的情況 console.log(bar); // 報(bào)錯(cuò)ReferenceError let bar = 2;
上面的代碼中同樣在聲明變量前打印出該變量,var申明的變量輸出undefined,而let報(bào)錯(cuò),即變量bar不存在,所以使用let一定要在申明后進(jìn)行使用。
暫時(shí)性死區(qū)
暫時(shí)性死區(qū)是什么意思呢,簡(jiǎn)單來(lái)說(shuō)就是從一開(kāi)始就形成了封閉作用域。凡是在聲明之前就使用這些變量,就會(huì)報(bào)錯(cuò)。
var tmp = 123; if (true) { tmp = "abc"; // ReferenceError let tmp; }
不允許重復(fù)聲明
let不允許在相同作用域內(nèi),重復(fù)聲明同一個(gè)變量。
// 報(bào)錯(cuò) function func() { let a = 10; let a = 1; }
2、const聲明一個(gè)只讀的常量。一旦聲明,常量的值就不能改變。
const聲明的變量不得改變值,這意味著,const一旦聲明變量,就必須立即初始化,不能留到以后賦值。
const的作用域與let命令相同:只在聲明所在的塊級(jí)作用域內(nèi)有效。
const命令聲明的常量也是不提升,同樣存在暫時(shí)性死區(qū),只能在聲明的位置后面使用。
const foo; // SyntaxError: Missing initializer in const declaration const PI = 3.1415; PI // 3.1415 PI = 3; // TypeError: Assignment to constant variable. if (true) { const MAX = 5; } MAX // Uncaught ReferenceError: MAX is not defined
3、塊級(jí)作用域
新增方式:
let和const實(shí)際上為 JavaScript 新增了塊級(jí)作用域。
使用{}創(chuàng)建塊級(jí)作用域(可以任意嵌套)
{{{{ let insane = "Hello World"; {let insane = "Hello World"} }}}};
優(yōu)點(diǎn):使得獲得廣泛應(yīng)用的立即執(zhí)行函數(shù)表達(dá)式(IIFE)不再必要了。
// IIFE 寫(xiě)法 (function () { var tmp = ...; ... }()); // 塊級(jí)作用域?qū)懛?{ let tmp = ...; ... }
注意:只有在ES6中,允許以下三條規(guī)則(ES5不可)
允許在塊級(jí)作用域內(nèi)聲明函數(shù)。
函數(shù)聲明類似于var,即會(huì)提升到全局作用域或函數(shù)作用域的頭部。
同時(shí),函數(shù)聲明還會(huì)提升到所在的塊級(jí)作用域的頭部。
4、do表達(dá)式(提案)
不贅述,使得塊級(jí)作用域可以變?yōu)楸磉_(dá)式,也就是說(shuō)可以返回值
let x = do { let t = f(); t * t + 1; };
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/90312.html
摘要:字符的表示法允許采用形式表示一個(gè)字符,其中表示字符的碼點(diǎn)。方法,用來(lái)將字符的不同表示方法統(tǒng)一為同樣的形式,這稱為正規(guī)化。,默認(rèn)參數(shù),表示標(biāo)準(zhǔn)等價(jià)合成,返回多個(gè)簡(jiǎn)單字符的合成字符。返回布爾值,表示參數(shù)字符串是否在原字符串的頭部。 ECMAScript6/ES6 入門 let和const命令變量的解構(gòu)賦值 五、字符串的擴(kuò)展 注:這章沒(méi)什么可以理解的,看過(guò)一遍就行,所以大體上我把有用的一些東...
摘要:默認(rèn)值同時(shí),對(duì)象解構(gòu)賦值也允許設(shè)置默認(rèn)值,默認(rèn)值生效的判斷條件同數(shù)組,只有在對(duì)應(yīng)值嚴(yán)格等于時(shí)會(huì)生效。報(bào)錯(cuò)如果要將一個(gè)已經(jīng)聲明的變量用于解構(gòu)賦值,必須非常小心。的規(guī)則是,只要有可能導(dǎo)致解構(gòu)的歧義,就不得使用圓括號(hào)。 ECMAScript6/ES6 入門 let和const命令 四、變量的解構(gòu)賦值 在ES6之前,數(shù)組和對(duì)象屬性賦值只能直接指定固定值,ES6 允許按照一定模式,從數(shù)組和對(duì)象中...
摘要:眾所周知,前端近幾年鬧了一場(chǎng)革命。這些問(wèn)題反應(yīng)了什么現(xiàn)象確實(shí)前端很火,引來(lái)了一批批新人。前端小白們?nèi)缁鹑巛钡膶W(xué)習(xí)著現(xiàn)在前端流行的新技術(shù)棧。寫(xiě)在最后所以啊,在目睹了很多白癡問(wèn)題后,我終于發(fā)出了一聲吶喊,答題救不了前端新人。 眾所周知,前端近幾年鬧了一場(chǎng)革命。前端在編程領(lǐng)域也掀起了學(xué)習(xí)潮。至少在中國(guó),從2013年下半年至今,在搜索指數(shù)上,有著爆炸式的增長(zhǎng)??梢钥聪聰?shù)據(jù):百度指數(shù),Googl...
摘要:眾所周知,前端近幾年鬧了一場(chǎng)革命。這些問(wèn)題反應(yīng)了什么現(xiàn)象確實(shí)前端很火,引來(lái)了一批批新人。前端小白們?nèi)缁鹑巛钡膶W(xué)習(xí)著現(xiàn)在前端流行的新技術(shù)棧。寫(xiě)在最后所以啊,在目睹了很多白癡問(wèn)題后,我終于發(fā)出了一聲吶喊,答題救不了前端新人。 眾所周知,前端近幾年鬧了一場(chǎng)革命。前端在編程領(lǐng)域也掀起了學(xué)習(xí)潮。至少在中國(guó),從2013年下半年至今,在搜索指數(shù)上,有著爆炸式的增長(zhǎng)。可以看下數(shù)據(jù):百度指數(shù),Googl...
摘要:介紹簡(jiǎn)單點(diǎn)來(lái)說(shuō)就就是一個(gè)配置文件,所有的魔力都是在這一個(gè)文件中發(fā)生的。一安裝全局安裝在文件夾里面也需要安裝這個(gè)是在你根目錄下進(jìn)行的全局安裝記得加太慢,推薦用的鏡像安裝方法一樣。二創(chuàng)建項(xiàng)目新建文件夾命令行輸入命令。 介紹:webpack簡(jiǎn)單點(diǎn)來(lái)說(shuō)就就是一個(gè)配置文件,所有的魔力都是在這一個(gè)文件中發(fā)生的。 這個(gè)配置文件主要分為三大塊 entry 入口文件 讓webpack用哪個(gè)文件作為項(xiàng)目的...
閱讀 1861·2021-09-22 15:10
閱讀 1392·2021-09-07 09:58
閱讀 2414·2019-08-30 15:44
閱讀 1729·2019-08-26 18:29
閱讀 2152·2019-08-26 13:35
閱讀 849·2019-08-26 13:31
閱讀 799·2019-08-26 11:42
閱讀 1165·2019-08-23 18:39