摘要:這個(gè)用法比較生僻,不好找。底層的優(yōu)點(diǎn)不說(shuō)了,用能避免誤操作,如下這種誤操作會(huì)報(bào)錯(cuò),如果用則不會(huì)。
箭頭函數(shù)
// 5 function greet (name) { return "Hello, "+ name; } // 6 const greet = (name) => { return "Hello, "+ name; } // 由于函數(shù)內(nèi)容只有一句,可以去掉{},并且省略return關(guān)鍵字 const greet = (name) => console.log("Hello, "+ name); // 進(jìn)一步簡(jiǎn)化,由于參數(shù)也只有一個(gè),參數(shù)的括號(hào)也可以省略。參數(shù)多于一個(gè)時(shí)必須用括號(hào)包裹 const greet = name => console.log("Hello, "+ name); *所以當(dāng)看到一句的函數(shù)如果不理解,可以一步一步的反推,還原成你熟悉的代碼* // 回調(diào) 5 const names = ["Tom","Jerry","Dog"]; names.map(function(name){ console.log(name); }); // 6 names.map(name=> console.log(name)); // 當(dāng)需要直接返回一個(gè)對(duì)象怎么辦?直接寫{}發(fā)現(xiàn)是錯(cuò)的。這是需要把要返回的對(duì)象用()包裹。這個(gè)用法比較生僻,不好找。 const test = (a,b) => ({a,b}); test(1,2); // {a:1, b:2}
擴(kuò)展運(yùn)算符
// ...的一個(gè)通用的用法就是把對(duì)象展開 // 展開數(shù)組 console.log(...[1,2,3]) // 1 2 3 // 展開對(duì)象 const people = {name:"Tome", age: 18}; const coder = {...people, scope:"javascript"}; console.log(coder); // {name: "Tome", age: 18, scope: "javascript"} // 展開字符串 console.log(..."hello"); // h e l l o
變量聲明
// 6中不建議繼續(xù)使用var來(lái)聲明變量,推薦使用let和const聲明,以此避免var聲明存在的弊端,看下例子 // 5, 不賣關(guān)子,輸出10個(gè)10 for (var i = 0; i < 10; i++) { setTimeout(() => console.log(i)); } // 6, 輸出0 ... 9 for (let i = 0; i < 10; i++) { setTimeout(() => console.log(i)); } // 差別一目了然,如果你不理解,簡(jiǎn)單來(lái)講,let能避免var的一些不必要的麻煩 // const用來(lái)聲明常量,也就是聲明了之后不能再被賦值。底層的優(yōu)點(diǎn)不說(shuō)了,用const能避免誤操作,如下這種誤操作會(huì)報(bào)錯(cuò),如果用var則不會(huì)。 const MAX = 20; if(MAX = number){ // ... } // 還有一些簡(jiǎn)單的聲明方式,或者是語(yǔ)法糖 // 直接使用對(duì)象的屬性,簡(jiǎn)化掉冗長(zhǎng)的點(diǎn)調(diào)用 const student = { name: "Tom", age: 18, grade: 3, score: 100 }; const {name, age, grade, score} = student; console.log(name, age, grade, score); // Tom 18 3 100 // 如果是多層的嵌套的對(duì)象,比如http請(qǐng)求中的req對(duì)象 req={body:{name:"test name"},headers:{...}}; const {body:{name}}=req; console.log(name); // 反向追蹤到要用的屬性即可獲得 // 一次性聲明多個(gè)變量并賦值 let [x,y,z] = [1,2,3]; console.log(x,y,z); // 1 2 3
ES6+ 對(duì)于書寫來(lái)說(shuō)提供了極大的方便,可能有些地方不那么好理解,多練習(xí)就好!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/103397.html
摘要:學(xué)習(xí)定稿有兩年多的時(shí)間了,斷斷續(xù)續(xù)通過(guò)一些博客,書籍也學(xué)到了很多知識(shí)。將各個(gè)部分的知識(shí)整理成一篇篇博文,以便于自己系統(tǒng)掌握和復(fù)習(xí)。整個(gè)系列主要參考了的深入理解,可以看作是對(duì)這本書的一個(gè)學(xué)習(xí)總結(jié),也向大家強(qiáng)烈推薦這本書作為的學(xué)習(xí)書籍。 學(xué)習(xí)es6 es6定稿有兩年多的時(shí)間了,斷斷續(xù)續(xù)通過(guò)一些博客,書籍也學(xué)到了很多es6知識(shí)??梢哉f(shuō),es6給js語(yǔ)言帶來(lái)了非常大的改進(jìn),引進(jìn)了很多好用的特性...
摘要:系列種優(yōu)化頁(yè)面加載速度的方法隨筆分類中個(gè)最重要的技術(shù)點(diǎn)常用整理網(wǎng)頁(yè)性能管理詳解離線緩存簡(jiǎn)介系列編寫高性能有趣的原生數(shù)組函數(shù)數(shù)據(jù)訪問(wèn)性能優(yōu)化方案實(shí)現(xiàn)的大排序算法一怪對(duì)象常用方法函數(shù)收集數(shù)組的操作面向?qū)ο蠛驮屠^承中關(guān)鍵詞的優(yōu)雅解釋淺談系列 H5系列 10種優(yōu)化頁(yè)面加載速度的方法 隨筆分類 - HTML5 HTML5中40個(gè)最重要的技術(shù)點(diǎn) 常用meta整理 網(wǎng)頁(yè)性能管理詳解 HTML5 ...
摘要:系列種優(yōu)化頁(yè)面加載速度的方法隨筆分類中個(gè)最重要的技術(shù)點(diǎn)常用整理網(wǎng)頁(yè)性能管理詳解離線緩存簡(jiǎn)介系列編寫高性能有趣的原生數(shù)組函數(shù)數(shù)據(jù)訪問(wèn)性能優(yōu)化方案實(shí)現(xiàn)的大排序算法一怪對(duì)象常用方法函數(shù)收集數(shù)組的操作面向?qū)ο蠛驮屠^承中關(guān)鍵詞的優(yōu)雅解釋淺談系列 H5系列 10種優(yōu)化頁(yè)面加載速度的方法 隨筆分類 - HTML5 HTML5中40個(gè)最重要的技術(shù)點(diǎn) 常用meta整理 網(wǎng)頁(yè)性能管理詳解 HTML5 ...
摘要:寫在前面金三銀四又到了一年一度的跳槽季相信大家都在準(zhǔn)備自己面試筆記我也針對(duì)自己工作中所掌握或了解的一些東西做了一個(gè)目錄總結(jié)方便自己復(fù)習(xí)詳細(xì)內(nèi)容會(huì)在之后一一對(duì)應(yīng)地補(bǔ)充上去有些在我的個(gè)人主頁(yè)筆記中也有相關(guān)記錄這里暫且放一個(gè)我的面試知識(shí)點(diǎn)目錄大家 寫在前面: 金三銀四, 又到了一年一度的跳槽季, 相信大家都在準(zhǔn)備自己面試筆記, 我也針對(duì)自己工作中所掌握或了解的一些東西做了一個(gè)目錄總結(jié),方便自...
閱讀 982·2023-04-26 02:56
閱讀 9584·2021-11-23 09:51
閱讀 1889·2021-09-26 10:14
閱讀 2991·2019-08-29 13:09
閱讀 2161·2019-08-26 13:29
閱讀 579·2019-08-26 12:02
閱讀 3573·2019-08-26 10:42
閱讀 3013·2019-08-23 18:18