国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

ES6的新特性概覽_javascript技巧

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 20:52:01
文檔

ES6的新特性概覽_javascript技巧

ES6的新特性概覽_javascript技巧:Nick Justice是GitHub開發(fā)者計劃的一員。早在ES6語言標(biāo)準(zhǔn)發(fā)布之前,他就借助像Babel這樣的轉(zhuǎn)譯器以及最新版本的瀏覽器在自己的項目中使用ES6特性。他認(rèn)為,ES6的新特性將極大地改變JavaScript的編寫方式。 ES6(ECMAScript 6)是即將到來的新版本
推薦度:
導(dǎo)讀ES6的新特性概覽_javascript技巧:Nick Justice是GitHub開發(fā)者計劃的一員。早在ES6語言標(biāo)準(zhǔn)發(fā)布之前,他就借助像Babel這樣的轉(zhuǎn)譯器以及最新版本的瀏覽器在自己的項目中使用ES6特性。他認(rèn)為,ES6的新特性將極大地改變JavaScript的編寫方式。 ES6(ECMAScript 6)是即將到來的新版本

Nick Justice是GitHub開發(fā)者計劃的一員。早在ES6語言標(biāo)準(zhǔn)發(fā)布之前,他就借助像Babel這樣的轉(zhuǎn)譯器以及最新版本的瀏覽器在自己的項目中使用ES6特性。他認(rèn)為,ES6的新特性將極大地改變JavaScript的編寫方式。

ES6(ECMAScript 6)是即將到來的新版本JavaScript語言的標(biāo)準(zhǔn),代號harmony(和諧之意,顯然沒有跟上我國的步伐,我們已經(jīng)進(jìn)入版本了)。上一次標(biāo)準(zhǔn)的制訂還是2009年出臺的ES5。目前ES6的標(biāo)準(zhǔn)化工作正在進(jìn)行中,預(yù)計會在14年12月份放出正式敲定的版本。但大部分標(biāo)準(zhǔn)已經(jīng)就緒,且各瀏覽器對ES6的支持也正在實現(xiàn)中。

技術(shù)雖然發(fā)展太快,但是我們不停下學(xué)習(xí)的步伐,就不會被新技術(shù)淘汰,下面我們一起來學(xué)習(xí)es6的新特征吧。

箭頭操作符

如果你會C#或者Java,你肯定知道lambda表達(dá)式,ES6中新增的箭頭操作符=>便有異曲同工之妙。它簡化了函數(shù)的書寫。操作符左邊為輸入的參數(shù),而右邊則是進(jìn)行的操作以及返回的值Inputs=>outputs。

我們知道在JS中回調(diào)是經(jīng)常的事,而一般回調(diào)又以匿名函數(shù)的形式出現(xiàn),每次都需要寫一個function,甚是繁瑣。當(dāng)引入箭頭操作符后可以方便地寫回調(diào)了。請看下面的例子:

類的支持

ES6中添加了對類的支持,引入了class關(guān) 鍵字(其實class在JavaScript中一直是保留字,目的就是考慮到可能在以后的新版本中會用到,現(xiàn)在終于派上用場了)。JS本身就是面向?qū)ο?的,ES6中提供的類實際上只是JS原型模式的包裝?,F(xiàn)在提供原生的class支持后,對象的創(chuàng)建,繼承更加直觀了,并且父類方法的調(diào)用,實例化,靜態(tài)方 法和構(gòu)造函數(shù)等概念都更加形象化。

下面代碼展示了類在ES6中的使用:

輸出 'My name is dummy' wayou.sayName(); // 輸出 'My name is wayou' wayou.program(); // 輸出 'I'm coding...'

增強(qiáng)的對象字面量

對象字面量被增強(qiáng)了,寫法更加簡潔與靈活,同時在定義對象的時候能夠做的事情更多了。具體表現(xiàn)在:

1.可以在對象字面量里面定義原型

2.定義方法可以不用function關(guān)鍵字

3.直接調(diào)用父類方法

這樣一來,對象字面量與前面提到的類概念更加吻合,在編寫面向?qū)ο蟮腏avaScript時更加輕松方便了。

輸出 'breathing...' // 調(diào)用繼承來的breathe方法 worker.breathe(); // 輸出 'breathing...'

字符串模板

字符串模板相對簡單易懂些。ES6中允許使用反引號 ` 來創(chuàng)建字符串,此種方法創(chuàng)建的字符串里面可以包含由美元符號加花括號包裹的變量 ${vraible}。如果你使用過像C#等后端強(qiáng)類型語言的話,對此功能應(yīng)該不會陌生。

輸出到console console.log(`your num is ${num}`);

解構(gòu)

自動解析數(shù)組或?qū)ο笾械闹?。比如若一個函數(shù)要返回多個值,常規(guī)的做法是返回一個對象,將每個值做為這個對象的屬性返回。但在ES6中,利用解構(gòu)這一特性,可以直接返回一個數(shù)組,然后數(shù)組中的值會自動被解析到對應(yīng)接收該值的變量中。

輸出:x:1, y:2 [name,,age] = ['wayou','male','secrect']; // 數(shù)組解構(gòu) console.log('name:' + name + ', age:' + age); //輸出:name:wayou, age:secrect

參數(shù)默認(rèn)值,不定參數(shù),拓展參數(shù)

默認(rèn)參數(shù)值

現(xiàn)在可以在定義函數(shù)的時候指定參數(shù)的默認(rèn)值了,而不用像以前那樣通過邏輯或操作符來達(dá)到目的了。

輸出:Hello dude sayHello('Wayou'); // 輸出:Hello Wayou // 運用ES6的默認(rèn)參數(shù) function sayHello2(name = 'dude') { console.log(`Hello${name}`); } sayHello2(); // 輸出:Hello dude sayHello2('Wayou'); // 輸出:Hello Wayou

不定參數(shù)

不定參數(shù)是在函數(shù)中使用命名參數(shù)同時接收不定數(shù)量的未命名參數(shù)。這只是一種語法糖,在以前的JavaScript代碼中我們可以通過arguments變量來達(dá)到這一目的。不定參數(shù)的格式是三個句點后跟代表所有不定參數(shù)的變量名。

比如下面這個例子中,…x代表了所有傳入add函數(shù)的參數(shù)。

輸出:6 console.log(add(1,2,3,4,5)); // 輸出:15

拓展參數(shù)

拓展參數(shù)則是另一種形式的語法糖,它允許傳遞數(shù)組或者類數(shù)組直接做為函數(shù)的參數(shù)而不用通過apply。

輸出:Hello Wayou,John,Sherlock // 而在以前,如果需要傳遞數(shù)組當(dāng)參數(shù),我們需要使用函數(shù)的apply方法 sayHello.apply(null, people); // 輸出:Hello Wayou,John,Sherlock

let與const 關(guān)鍵字

可以把let看成var,只是它定義的變量被限定在了特定范圍內(nèi)才能使用,而離開這個范圍則無效。const則很直觀,用來定義常量,即無法被更改值的變量。

輸出: 0,1 } console.log(i); // 輸出:undefined,嚴(yán)格模式下會報錯

for of 值遍歷

我們都知道for in循環(huán)用于遍歷數(shù)組,類數(shù)組或?qū)ο螅珽S6中新引入的for of循環(huán)功能相似,不同的是每次循環(huán)它提供的不是序號而是值。

輸出 a,b,c }

iterator, generator

1.iterator: 它是這么一個對象,擁有一個next方法,這個方法返回一個對象{done,value},這個對象包含兩個屬性,一個布爾類型的done和包含任意值的value

2.iterable: 這是這么一個對象,擁有一個obj[@@iterator]方法,這個方法返回一個iterator

3.generator: 它是一種特殊的iterator。反的next方法可以接收一個參數(shù)并且返回值取決與它的構(gòu)造函數(shù)(generator function)。generator同時擁有一個throw方法

4.generator函數(shù): 即generator的構(gòu)造函數(shù)。此函數(shù)內(nèi)可以使用yield關(guān)鍵字。在yield出現(xiàn)的地方可以通過generator的next或throw方法向外界傳遞值。generator 函數(shù)是通過function*來聲明的

5.yield關(guān)鍵字:它可以暫停函數(shù)的執(zhí)行,隨后可以再進(jìn)進(jìn)入函數(shù)繼續(xù)執(zhí)行

模塊

在ES6標(biāo)準(zhǔn)中,JavaScript原生支持module了。這種將JS代碼分割成不同功能的小塊進(jìn)行模塊化的概念是在一些三方規(guī)范中流行起來的,比如CommonJS和AMD模式。

將不同功能的代碼分別寫在不同文件中,各模塊只需導(dǎo)出公共接口部分,然后通過模塊的導(dǎo)入的方式可以在其他地方使用。

這些是新加的集合類型,提供了更加方便的獲取屬性值的方法,不用像以前一樣用hasOwnProperty來檢查某個屬性是屬于原型鏈上的呢還是當(dāng)前對象的。同時,在進(jìn)行屬性值添加與獲取時有專門的get,set方法。

輸出:salary is changed to 60

上面代碼我已加了注釋,這里進(jìn)一步解釋。對于處理程序,是在被偵聽的對象身上發(fā)生了相應(yīng)事件之后,處理程序里面的方法就會被調(diào)用,上面例子中我們設(shè)置了set的處理函數(shù),表明,如果我們偵聽的對象的屬性被更改,也就是被set了,那這個處理程序就會被調(diào)用,同時通過參數(shù)能夠得知是哪個屬性被更改,更改為了什么值。

Symbols

我們知道對象其實是鍵值對的集合,而鍵通常來說是字符串。而現(xiàn)在除了字符串外,我們還可以用symbol這種值來做為對象的鍵。Symbol是一種 基本類型,像數(shù)字,字符串還有布爾一樣,它不是一個對象。Symbol 通過調(diào)用symbol函數(shù)產(chǎn)生,它接收一個可選的名字參數(shù),該函數(shù)返回的symbol是唯一的。之后就可以用這個返回值做為對象的鍵了。Symbol還可以用來創(chuàng)建私有屬性,外部無法直接訪問由symbol做為鍵的屬性值。

有關(guān)ES6的新特性就給大家介紹這么多,希望對大家有所幫助!

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

ES6的新特性概覽_javascript技巧

ES6的新特性概覽_javascript技巧:Nick Justice是GitHub開發(fā)者計劃的一員。早在ES6語言標(biāo)準(zhǔn)發(fā)布之前,他就借助像Babel這樣的轉(zhuǎn)譯器以及最新版本的瀏覽器在自己的項目中使用ES6特性。他認(rèn)為,ES6的新特性將極大地改變JavaScript的編寫方式。 ES6(ECMAScript 6)是即將到來的新版本
推薦度:
標(biāo)簽: 小技巧 技巧 js
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 亚洲 欧美综合小说区图片区 | 国产成人一区二区三区免费观看 | 亚洲 欧美 手机 在线观看 | 国产欧美日韩综合 | 日韩在线观看视频免费 | 欧美日韩精品一区二区三区四区 | 在线视频观看国产 | 国产日韩在线 | 亚洲一区二区三区久久久久 | 国产国语高清在线视频二区 | 国产在线观看第一页 | er久99久热只有精品国产 | 激情欧美日韩一区二区 | 国产视频久久 | 国产精品久久久久毛片 | 国模私拍一区二区三区 | 全免费a级毛片免费毛视频 热re91久久精品国产91热 | 一区二区免费播放 | 香蕉在线观看 | 91中文字幕在线观看 | 日韩专区亚洲综合久久 | 亚洲 欧美 日韩在线 | 日本三级全黄三级a | 亚洲第七页 | 国产呦系列 欧美呦 日韩呦 | 91久久九九精品国产综合 | 国产欧美日韩在线播放 | 欧美最猛性xxxxx动态图 | 日韩第三页 | 精品欧美日韩一区二区三区 | 日韩成人免费在线 | 欧美成人免费高清视频 | 国产亚洲欧美一区二区 | 国产日韩欧美自拍 | 在线观看国产精品入口 | 欧美成人禁片在线观看网址 | 欧美 第一页 | 小说区 亚洲 自拍 另类 | 久久免费国产精品一区二区 | 久久一卡二卡 | 日韩视频欧美视频 |