版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、ES6 課程1 ES61-ES6 是什么ECMAScript6.0(以下簡稱 ES6)是 JavaScript6JavaScriptES6 課程1 ES61-ES6 是什么ECMAScript6.0(以下簡稱 ES6)是 JavaScript6JavaScript1-常用語Parameters(默認(rèn)參數(shù)) initerals(模板文本)inMulti-line Strings (多行字符串)in ES6 Destructuring Assignment (解構(gòu)賦值)in ES6 EnhancedObjectLiterals(增強(qiáng)的對(duì)象文本)inES6 Arrow Functions (箭頭函數(shù)
2、)in ES6PromisesinBlock-ScopedConstructsLetandConst(LetandConst) Classes(類) in ES6Modules(模塊) in22-varname=while(true)var name = obama console.log(name) /obama console.log(name) letname=whileconsole.log(name) letname=while(true)let name = obama console.log(name) /obama console.log(name) vara=for(vari
3、=0;i10;i+) ai = function () a6();/vara=for(leti=0;i)varf=v=varES6 允許使用“箭頭”(=)varf=v=varf=function(v) return v;varf=()=varf=function()returnvarsum=(num1,num2)=varsum=function(num1,num2) return num1 + num2;+return(x,y)=x+;y-;returnfunction(x,yy-returnx+報(bào)letgetTempItem=id=id:id,name:Temp letgetTempItem
4、=id=(id:id,name:TempletgetTempItem=id=(id:id,name:Templetfn=(i,j)= constfull=,last)+functionfull( )+. class Animal this.type=console.log(this.type+says+say),varanimal=newanimal.says(hi) /undefinedsaysthisselfselfvar self = this; console.log(self.type+says+,console.log(self.type+says+,console.log(thi
5、s.type+says+say)class Animal this.type=setTimeout()=console.log(this.type+says+,var animal = new Animal() animal.says(hi) /animalsayshi當(dāng)thisthis2-模板字符串/變Thereare+basket.count+ items in your basket, +basket.onSale+ are on sale!上面這種寫法相當(dāng)繁瑣不方便,+9Thereare$basket.countinyourbasket,$basket.onSale are on sa
6、le!模板字符串(ZKSVRGZK XO上面這種寫法相當(dāng)繁瑣不方便,+9Thereare$basket.countinyourbasket,$basket.onSale are on sale!模板字符串(ZKSVRGZK XO)是增強(qiáng)版的字符串,用反引號(hào)(F)標(biāo)識(shí)。它可以當(dāng)普通字InJavaScriptnisaline-多行字Inthisisnot字符串中嵌入letname=Bob,time=o$name,howareyou換行。如果你不想要這個(gè)換行,可以使用 XOS 方法消除它 )GYY(類)的基本語 IXOVZ 語言中,生成實(shí)例對(duì)象的傳統(tǒng)方法是通過構(gòu)造函數(shù)。下面是一個(gè)例子function
7、 Po(x,y) this.x = x;this.y=.prototype.toString=function()return(+this.x+,function Po(x,y) this.x = x;this.y=.prototype.toString=function()return(+this.x+,+this.y+varp=new(1,classES6classclassconstructor(x,y) this.x = x; this.y = y;toString()return(+this.x+,+this.y+的ES6classtypeof=class Bar doStuff()
8、varb=newBar(); prototypeES6class Bar doStuff()varb=newBar(); prototypeES6this對(duì)象上),否則都是定義在原型上(class上)。classtoString().prototype=toString()classBletb=newb.constructor=bclassprototypeconstructorES5ClassextendsES5classprototypeconstructorES5ClassextendsES5classclassextends類classextendsconstructor(x,y,co
9、lor)super(x,y調(diào)用父類的constructor(x,this.color=toString()returnthis.colorsuper.toString調(diào)用父類的this對(duì)象。constructorsuperclass/*.*/classextendsletcp=new();/this上面(Parent.apply(this))。ES6letcp=new();/this上面(Parent.apply(this))。ES6classextendsclassextendsconstructor(.args) super之后,才可以使super方法才能返回父類實(shí)例。classconst
10、ructor(x,y) this.x = x; this.y = y;classextendsconstructor(x,y,color)this.color=color;/ReferenceError super(x, y);this.colorcolor;正super方法之后就是正確的。letcp=new(25,8,cpinstanceof/cpinstanceof/和cpinstanceof/cpinstanceof/和ES5classAso()oclassBextendsAo() osupersuper函數(shù)。classAclassBextendsA constructor() 必須的,
11、否則 JavaScript 引擎會(huì)報(bào)錯(cuò)。classAclassBextendsA constructor() newA()/A newB()/newA()/A newB()/thisB。classAclassBextendsA m() super報(bào)classA p() returnclassBextendsA constructor() ();/letb=newsuper在普通方法之中,指向A.prototype,所以supsuper調(diào)用的。class A constructor()this.p=classBextendsA get m() returnletb=newclassBextend
12、sA get m() returnletb=newb.m/就classAA.prototype.x=classBextendsA constructor() console.log(super.x)/2letb=newclass A constructor()this.x=()classBextendsA constructor() this.x=2;m()rletb=newb.m()/letb=newb.m()/thisclass A constructor()this.x=classBextendsA constructor() this.x=2;super.x=console.log(s
13、uper.x);/undefined console.log(this.x); / 3letb=newclassAclassBextendsA constructor() console.log(super報(bào)錯(cuò)JavaScriptclassAclassBJavaScriptclassAclassBextendsA constructor() console.log(super.valueOf()instanceofB);/letb=newsuperBthissuper.valueOf()返回的是一個(gè)Bvar obj = toString()returnMyObject:+obj.toStrin
14、g();/MyObject:object2-Module(模塊)語 一直沒有模塊RubyrequireimportCSSimportJavaScriptES6CommonJSAMD前者用于服務(wù)器,后者用于瀏覽器。ES6而且實(shí)現(xiàn)得相當(dāng)簡單,完全可以取代 CommonJS 和 AMD 規(guī)范,成為瀏覽器和服務(wù)ES6如,CommonJS 模塊就是對(duì)象,輸入時(shí)必須查找對(duì)象屬性。CommonJS模let,exists,readFile=let_fsES6如,CommonJS 模塊就是對(duì)象,輸入時(shí)必須查找對(duì)象屬性。CommonJS模let,exists,readFile=let_fs=let=;let ex
15、ists = _fs.exists; letreadfile=_fs.readfile;(_fsES6模import,exists,readFilefromES6ES6 JavaScript(macro)和類型檢驗(yàn)(typesystem)這些只能UMDES6APIexport望外部能模JSexport/exportName=exportvarlastName=Jackson; export var year = 1958;exportName=exportvarlastName=Jackson; export var year = 1958;/Name=varlastName=varyear=
16、exportName,lastName,exportfunctionmultiply(x,y) return x * y;functionv1().functionv2().exportv1asstreamV1, v2asv2as報(bào)export/ 報(bào)錯(cuò) varm1; export m;m1。1只是一個(gè)值,不是接口。正確的寫法是下exportvarm=varexportvarm=varm=exportvar n = 1; exportnasm;報(bào)functionf()export正exportfunctionf()/ 正確 functionf export f;可以取到模塊 實(shí)時(shí)的值。expor
17、t var foo = bar; setTimeout()=foo=baz,500);CommonJSCommonJS態(tài)更新,詳見下文Module 的加載實(shí)現(xiàn)一節(jié)。最后,export命令可以出現(xiàn)在模塊的任何位置,只要處于模塊頂層就可以。如果ES6functionfoo()exportdefaultbar/importexportJS/importName,lastName,yearfromfunction/importName,lastName,yearfromfunctionsetName(element) element.textContent =Name+importprofile.js
18、文件,并從中輸入變量。import importlastNamernamefrom.jsJavaScript 引擎該模塊的位置。importmyMethodfromimportfoofromimport是靜態(tài)執(zhí)行,所以不能使用表達(dá)式和變量,這些只有在運(yùn)行時(shí)才能得報(bào)importf+oofrom報(bào)letmodule=importfoofrom報(bào)if(x=1)importfoofromelseimportfoofromimportimportimportlodash; importimportfoofrommy_module; importbarfromimportfoo,barfrommy_mod
19、ule實(shí)例。也就是說,importSingletonCommonJSimport React from React;export defaultimport命令的時(shí)候,用戶需要知道所要加載的變量default命令,為模塊指定默認(rèn)輸出。/export-exportdefaultfunction() 其他模塊加載該模塊時(shí),import命令可以為該/import-importcustomNamefrom./export-default; customName(); / fooexportdefault/export-exportdefaultfunctionfoo()或者寫function foo() exportdefault或者寫function foo() exportdefaultexportdefaultfunctioncrc32輸/importcrc32fromcrc32輸exportfunctioncrc32輸/importcrc32fromcrc32輸上面代碼的兩組寫法,第一組是使用 export de
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版?zhèn)€人對(duì)個(gè)人民宿短租服務(wù)合同3篇
- 二零二五年度版權(quán)監(jiān)控合同2篇
- 二零二五版物流配送合同管理員安全生產(chǎn)保障協(xié)議3篇
- 二零二五年度餐飲業(yè)食品安全培訓(xùn)及咨詢服務(wù)合同范本3篇
- 二零二五年電梯安全知識(shí)競賽獎(jiǎng)品贊助與提供合同3篇
- 二零二五年海參養(yǎng)殖基地與農(nóng)產(chǎn)品營銷策劃公司合作合同文本3篇
- 二零二五年度鋼結(jié)構(gòu)景觀亭臺(tái)制作安裝合同3篇
- 二零二五年度CFG樁基施工與監(jiān)理一體化承包合同2篇
- 二零二五年度高鐵站車庫租賃與行李寄存服務(wù)合同3篇
- 二零二五年教育培訓(xùn)機(jī)構(gòu)實(shí)習(xí)學(xué)生勞動(dòng)合同規(guī)范文本3篇
- 2025年湖北武漢工程大學(xué)招聘6人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 【數(shù) 學(xué)】2024-2025學(xué)年北師大版數(shù)學(xué)七年級(jí)上冊(cè)期末能力提升卷
- GB/T 26846-2024電動(dòng)自行車用電動(dòng)機(jī)和控制器的引出線及接插件
- 遼寧省沈陽市皇姑區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末考試語文試題(含答案)
- 妊娠咳嗽的臨床特征
- 國家公務(wù)員考試(面試)試題及解答參考(2024年)
- 《阻燃材料與技術(shù)》課件 第6講 阻燃纖維及織物
- 2024年金融理財(cái)-擔(dān)保公司考試近5年真題附答案
- 泰山產(chǎn)業(yè)領(lǐng)軍人才申報(bào)書
- 高中語文古代文學(xué)課件:先秦文學(xué)
- 三創(chuàng)賽獲獎(jiǎng)-非遺文化創(chuàng)新創(chuàng)業(yè)計(jì)劃書
評(píng)論
0/150
提交評(píng)論