亚洲 国产精品 日韩-亚洲 激情-亚洲 欧美 91-亚洲 欧美 成人日韩-青青青草视频在线观看-青青青草影院

千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 一次性搞定JavaScript 從 ES6 到 ES12的基礎框架知識

一次性搞定JavaScript 從 ES6 到 ES12的基礎框架知識

來源:千鋒教育
發(fā)布人:wjy
時間: 2022-11-16 14:59:15 1668581955

  Javascript 是前端三劍客技術最重要的技能之一。每個學習前端的人,這個JavaScript技術是必須要學的。隨著技術不斷更新迭代,所以現(xiàn)在有一些新的知識來支持我們?nèi)W習 ES6 ~ ES12。

  一、ECMAScript簡介

  ECMA 規(guī)范由各方組成,包括瀏覽器供應商,他們會開會推動 JavaScript 提案。

  二、ES6 (ES2015)

  1.Class

  JavaScript 是一種使用原型鏈的語言。

  早期,類似OO的概念是通過原型鏈做出來的,相當復雜。Class 終于在 ES6 中推出。

JavaScript 從 ES6 到 ES12的基礎框架知識1

  2.模塊

  每個模塊都有自己的命名空間以避免沖突,使用導入和導出來導入和導出。

  基本上將 .js 文件視為模塊。

  3.箭頭函數(shù)

  () => {…},是函數(shù)的縮寫。最重要的是,他可以確保這始終指向自己

  不再寫 var self = this、var that = this 等等!

JavaScript 從 ES6 到 ES12的基礎框架知識2

  4.函數(shù)參數(shù)默認值

  如果函數(shù)不傳遞參數(shù),則使用默認值,更簡潔的寫法。

JavaScript 從 ES6 到 ES12的基礎框架知識3

  5.模板字面量

  過去,長字符串的組合是通過 + 號來連接的。

  它的可讀性很差,使用模板字符串,它更容易閱讀。

JavaScript 從 ES6 到 ES12的基礎框架知識4

  6.解構賦值

  允許 JavaScript 輕松地從數(shù)組和對象中獲取內(nèi)容。

JavaScript 從 ES6 到 ES12的基礎框架知識5

  7.擴展運算符

  它是用三點(...)表示,Array是可以擴展的,如果是Object,會按照key-value進行擴展。

JavaScript 從 ES6 到 ES12的基礎框架知識6

  8.對象屬性簡寫

  如果構成對象的字段名稱與前面段落中的變量相同,則可以省略該值,看起來更流線型。

JavaScript 從 ES6 到 ES12的基礎框架知識7

  9.Promise

  Promise 是一種異步(非同步)寫法的解決方案,比原來的回調寫法更加優(yōu)雅。

  早期是開源社區(qū)的套件,后來被納入語言標準。

  早期回調 hell……

  使用 Promise 后,回調 hell 扁平化

JavaScript 從 ES6 到 ES12的基礎框架知識8

  并且ES8(ES2017)發(fā)布了更完美的async,await,直接讓異步寫得像同步一樣。

  缺點是當思路落到復雜的業(yè)務邏輯上時,有時會錯過await,在運行時發(fā)現(xiàn)錯誤。

  10.let, const 替換 var

  let:通用變量,可以被覆蓋

  const:一旦聲明,其內(nèi)容不可修改。因為數(shù)組和對象都是指標,所以它們的內(nèi)容可以增加或減少, 但不改變其指標.

  早期,JavaScript的var作用域是全局的。

  也就是說,變量是在使用后聲明的,執(zhí)行的時候會自動提到頂層,后面會賦值。

  更容易受到污染。

JavaScript 從 ES6 到 ES12的基礎框架知識9

  使用 let 或 const

JavaScript 從 ES6 到 ES12的基礎框架知識10

  三、ES7 (ES2016)

  1.Array.prototype.includes()

  用于判斷數(shù)組是否包含指定值,如果是,則返回true;否則,返回假。

  和之前indexOf的用法一樣,可以認為是返回一個布爾值,語義上更加清晰。

JavaScript 從 ES6 到 ES12的基礎框架知識11

  2.冪運算符

JavaScript 從 ES6 到 ES12的基礎框架知識12

  四、ES8 (ES2017)

  1.async, await

  異步函數(shù)是使用 async 關鍵字聲明的函數(shù),并且允許在其中使用 await 關鍵字。async 和 await 關鍵字使異步的、基于 Promise 的行為能夠以更簡潔的方式編寫,避免了顯式配置 Promise 鏈的需要。

JavaScript 從 ES6 到 ES12的基礎框架知識13

  2.Object.values()

  返回對象自身屬性的所有值,不包括繼承的值。

JavaScript 從 ES6 到 ES12的基礎框架知識14

  3.Object.entries()

  返回可枚舉鍵,即傳入對象本身的值。

JavaScript 從 ES6 到 ES12的基礎框架知識15

  4.字符串 padStart() & padEnd()

  你可以在字符串的開頭或結尾添加其他內(nèi)容,并將其填充到指定的長度。

  過去,這些功能通常是通過通用的輔助工具包(如 lodash)引入的,并將它們放在一起。

  本機語法現(xiàn)在直接提供:

JavaScript 從 ES6 到 ES12的基礎框架知識16

  最常用的情況應該是金額,填寫指定長度,不足加0。

JavaScript 從 ES6 到 ES12的基礎框架知識17

  5.尾隨逗號

  允許在函數(shù)參數(shù)列表末尾使用逗號

JavaScript 從 ES6 到 ES12的基礎框架知識18

  6.Object.getOwnPropertyDescriptors()

  獲取你自己的描述符,一般的開發(fā)業(yè)務需求通常不會用到。

JavaScript 從 ES6 到 ES12的基礎框架知識19

  7.共享數(shù)組緩沖區(qū)

  SharedArrayBuffer 是一個固定長度的原始二進制數(shù)據(jù)緩沖區(qū),類似于 ArrayBuffer。

  可用于在共享內(nèi)存上創(chuàng)建數(shù)據(jù)。與 ArrayBuffer 不同,SharedArrayBuffer 不能分離。

JavaScript 從 ES6 到 ES12的基礎框架知識20

  8.Atomics object

  Atomics 對象,它提供了一組靜態(tài)方法來對 SharedArrayBuffer 執(zhí)行原子操作。

  原子的所有屬性和函數(shù)都是靜態(tài)的,就像數(shù)學一樣,出不來新的。

  如果一個多線程同時在同一個位置讀寫數(shù)據(jù),原子操作保證了正在操作的數(shù)據(jù)如預期的那樣:即在上一個子操作結束后執(zhí)行下一個,操作不中斷。

  可以說是針對Node.Js中多線程Server的開發(fā)而加強的功能,在前端開發(fā)中使用的機會相當?shù)汀?/p>

  chrome 已經(jīng)提供了支持

  五、ES9 (ES2018)

  1.循環(huán)等待

  在異步函數(shù)中,有時需要在同步 for 循環(huán)中使用異步(非同步)函數(shù)。

JavaScript 從 ES6 到 ES12的基礎框架知識21

  上面的代碼不會像預期的那樣輸出期望的結果。

  for循環(huán)本身還是同步的,會在循環(huán)中的異步函數(shù)完成之前執(zhí)行整個for循環(huán),然后將里面的異步函數(shù)逐一執(zhí)行。

  ES9 增加了異步迭代器,允許 await 與 for 循環(huán)一起使用,逐步執(zhí)行異步操作。

JavaScript 從 ES6 到 ES12的基礎框架知識22

  2.promise.finally()

  無論是成功(.then())還是失敗(.catch()),Promise 后面都會執(zhí)行的部分。

JavaScript 從 ES6 到 ES12的基礎框架知識23

  3.Rest, Spread

  在 ES2015 中,Rest 不定長度參數(shù)…,可以轉換成數(shù)組傳入。

JavaScript 從 ES6 到 ES12的基礎框架知識24

  而傳播則與其他相反,將數(shù)組轉換為單獨的參數(shù)。

  例如,Math.max() 返回傳入數(shù)字中的最大值。

JavaScript 從 ES6 到 ES12的基礎框架知識25

  它還提供了對Objects進行解構賦值的功能。

JavaScript 從 ES6 到 ES12的基礎框架知識26

  4.正則表達式組

  RegExp 可以返回匹配的數(shù)據(jù)包

JavaScript 從 ES6 到 ES12的基礎框架知識27

  5.正則表達式前瞻否定

JavaScript 從 ES6 到 ES12的基礎框架知識28

  6.正則表達式 dotAll

  . 表示匹配除輸入以外的任何符號,添加這些標志后,允許匹配輸入。

JavaScript 從 ES6 到 ES12的基礎框架知識29

  六、ES10 (ES2019)

  1.更友好的 JSON.stringify

  如果輸入是 Unicode 但超出范圍,則 JSON.stringify 最初會返回格式錯誤的 Unicode 字符串。

  現(xiàn)在是第 3 階段的提案,使其成為有效的 Unicode 并以 UTF-8 呈現(xiàn)

  2.Array.prototype.flat() & Array.prototype.flatMap()

  展平陣列

JavaScript 從 ES6 到 ES12的基礎框架知識30

  flatMap(),相當于reduce with concat,可以展平一個維度

JavaScript 從 ES6 到 ES12的基礎框架知識31

  3.String.prototype.trimStart() & String.prototype.trimEnd()

  trimStart() 方法從字符串的開頭刪除空格,trimLeft() 是此方法的別名。

JavaScript 從 ES6 到 ES12的基礎框架知識32

  trimEnd() 方法從字符串末尾刪除空格,trimRight() 是此方法的別名。

JavaScript 從 ES6 到 ES12的基礎框架知識33

  4.Object.fromEntries()

  Object.fromEntries() 方法將鍵值對列表轉換為對象。

JavaScript 從 ES6 到 ES12的基礎框架知識34

  5.String.prototype.matchAll

  matchAll() 方法返回將字符串與正則表達式匹配的所有結果的迭代器,包括捕獲組。

JavaScript 從 ES6 到 ES12的基礎框架知識35

  6.fixed catch 綁定

  在使用catch之前,不管有用與否,一定要傳入一個eparameter來表示接收到的錯誤。

  如果現(xiàn)在不用,可以省略。

JavaScript 從 ES6 到 ES12的基礎框架知識36

  7.BigInt(新數(shù)字類型)

  BigInt 值,有時也稱為 BigInt,是一個 bigint 原語,通過將 n 附加到整數(shù)文字的末尾,或通過調用 BigInt() 函數(shù)(沒有 new 運算符)并給它一個整數(shù)值或字符串來創(chuàng)建 價值。

  ES5:String, Number, Boolean, Null, Undefined

  ES6 新增:Symbol,到ES6就一共有6 種類型

  ES10 新增:BigInt,就達到 7 種類型

JavaScript 從 ES6 到 ES12的基礎框架知識37

  七、ES11 (ES2020)

  1.Promise.allSettled()

  Promise.allSettled() 方法返回一個在所有給定的 Promise 都已實現(xiàn)或拒絕后實現(xiàn)的 Promise,并帶有一組對象,每個對象都描述了每個 Promise 的結果。

  它通常用于當你有多個不依賴于彼此成功完成的異步任務,或者你總是想知道每個 Promise 的結果時。

  相比之下,Promise.all() 返回的 Promise 可能更合適,如果任務相互依賴/如果你想立即拒絕其中任何一個拒絕。

JavaScript 從 ES6 到 ES12的基礎框架知識38

  2.可選鏈接?

  在開發(fā)中,很容易遇到先判斷數(shù)據(jù)是否存在,判斷是否寫入。

JavaScript 從 ES6 到 ES12的基礎框架知識39

  如果返回的數(shù)據(jù)為null或者用戶對象下沒有.intounder,則會拋出Uncaught TypeError: Cannot read property...。

  導致程序無法繼續(xù)執(zhí)行

  使用 ?,語法更簡單

JavaScript 從 ES6 到 ES12的基礎框架知識40

  如果存在,獲取name的值,如果不存在,賦值undefined

  與 || 一起使用,只需一行!

JavaScript 從 ES6 到 ES12的基礎框架知識41

  3.Nullish 合并運算符 ??

  在JavaScript中,遇到0、null、undefuded時會自動轉為false。

  但有時0其實是一個正常的值,只能容錯undefined和null

JavaScript 從 ES6 到 ES12的基礎框架知識42

  但是使用??,你可以保持簡潔

JavaScript 從 ES6 到 ES12的基礎框架知識43

  4.Dynamic-import

  從字面上看,應該很容易理解,就是在需要的時候加載相關的邏輯。

JavaScript 從 ES6 到 ES12的基礎框架知識44

  5.GlobalThis

  全局 globalThis 屬性包含全局 this 值,類似于全局對象。

  過去的做法是:

JavaScript 從 ES6 到 ES12的基礎框架知識45

  現(xiàn)在,我們可以這樣做:

JavaScript 從 ES6 到 ES12的基礎框架知識46

  八、ES12 (ES2021)

  1.Promise.any()

  Promise.any() 接受一個可迭代的 Promise 對象。它返回一個單一的 Promise,只要 iterable 中的任何一個 Promise 完成,就會返回一個 Promise,并帶有已完成的 Promise 的值。

  如果可迭代的實現(xiàn)中沒有任何承諾(如果所有給定的承諾都被拒絕),則返回的承諾會被 AggregateError 拒絕,AggregateError 是 Error 的一個新子類,它將單個錯誤組合在一起。

JavaScript 從 ES6 到 ES12的基礎框架知識47

  2.邏輯賦值運算符

  在開發(fā)過程中,我們可以使用 ES2020 中提出的邏輯運算符 ||、&& 和 ??(Nullish coalescing operator)來解決一些問題。

  而 ES2021 會提出 ||= , &&= , ??= ,概念類似于 += :

JavaScript 從 ES6 到 ES12的基礎框架知識48

  3.WeakRef

  WeakRef 對象包含對對象的弱引用,該對象稱為其目標或引用對象。對對象的弱引用是不會阻止對象被垃圾收集器回收的引用。

  相反,普通(或強)引用將對象保存在內(nèi)存中,當一個對象不再有任何強引用時,JavaScript 引擎的垃圾收集器可能會銷毀該對象并回收其內(nèi)存。

  如果發(fā)生這種情況,你將無法再從弱引用中獲取對象。

  此示例啟動一個顯示在 DOM 元素中的計數(shù)器,當該元素不再存在時停止:

JavaScript 從 ES6 到 ES12的基礎框架知識49

  到這里,今天要跟你分享的內(nèi)容就全部結束了,這些都是我的一些練習和學習筆記總結,希望對你有用。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經(jīng)許可不得擅自轉載。
10年以上業(yè)內(nèi)強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
H无码精品动漫在线观看导航| 色8激情欧美成人久久综合电影 | 国产激情一区二区三区视频免樱桃 | 日日摸日日碰夜夜爽无| 无码人妻一区二区三区麻豆| 亚洲色偷拍区另类无码专区| A级毛片免费观看播放器| 国产AV午夜精品一区二区入口| 激情综合婷婷丁香五月情| 免费精品无码AV片在线观看| 日韩精品无码一区二区三区免费| 亚洲AV美国AV产亚洲AV图片| 中文在线А√天堂官网| 丰满圆润大胸在线| 精品无码久久久久久久久| 欧美视频在线观看一区二区三区| 天天做天天爱夜夜爽毛片| 亚洲熟妇一区二区| 菠萝蜜国际通道一区麻豆| 国模无码视频一区二区三区| 嫩草研究院久久久精品| 为什么穿裙子方便打野| 岳打开双腿开始配合交换| 处破女轻点疼丨98分钟| 精品无码日韩国产不卡AV| 人人妻人人澡人人爽人人蜜臀| 性俄罗斯牲交XXXXX视频| 2022精品久久久久久中文字幕| 国产成人综合久久久久久| 快添捏我奶头我快受不了了动态图| 日本经典片免费看| 亚洲欧美一区二区成人片| 成人AV片在线观看免费| 精品无码国产自产拍在线观看蜜 | 丰满亚洲大尺度无码无码专线| 久久精品熟女亚洲AV麻豆| 色综合久久88色综合天天| 亚洲综合网国产精品一区| 丰满少妇偷人51视频在线观看| 久久精品亚洲成在人线AV麻豆| 三上悠亚SSNL-618无码播| 伊人久久大香线蕉AV波多野结衣| 国产ⅩXXX推油按摩BBBB| 麻豆AV一区二区天美传媒| 无码少妇一区二区三区芒果 | 呦女IUU极品资源| 国产精品成人永久在线四虎| 欧美夫妻免费拍拍片| 亚洲高清乱码午夜电影网| 成人一区二区三区视频在线观看| 久久久久久精品国产亚洲AV麻豆| 少妇兽交PWWW综合网| 40岁大乳的熟妇在线观看| 黑人双人RAPPER的特点| 色一情一乱一伦一区二区三欧美| 中文无码伦AV中文字幕在线| 国精产品一二三四线| 日本乱熟人妻精品乱码涩爱| 一边做饭一边躁狂怎么办 | 窝窝人体色WWW聚色窝| FREE东北女人自拍HD| 精品无码一区二区三区爱欲九九| 色婷婷亚洲婷婷七月中文字幕| 中文字幕AV在线一二三区| 国色精品卡一卡2卡3卡4卡免费| 日本肥老妇色XXXXX日本老妇| 亚洲熟妇无码AV另类VR影视 | 无罩大乳的熟妇正在播放| 爱情岛亚洲AV永久入口首页| 看全色黄大色大片免费久久| 亚洲AV无码不卡一区二区三区| 村长压在小雪身上耕耘视频| 男生把感叹号放进女生的括号 | 久久精品人人做人人爽电影| 小妖精抬起臀嗯啊H军人| 大BBW大BBW大BBW| 欧美肥肥婆另类XXXX000| 亚洲中文字幕久久精品无码A| 国产欧美精品一区二区三区| 色婷婷亚洲十月十月色天| CAOPORN免费视频在线| 久久亚洲私人国产精品VA| 亚洲AV第一成肉网肉片AV| 国产97在线 | 日韩| 强开小婷嫩苞又嫩又紧视频| 中文无码伦AV中文字幕在线| 久久99老妇伦国产熟女高清 | 精东传媒VS天美传媒电影| 无码人妻aⅴ一区二区三区99| 粗大的内捧猛烈进出| 欧美人与禽XOXO性伦交| 专干熟肥老妇人视频在线看| 久久露脸国产精品| 亚洲人妻在线视频| 鳮巴又大又爽我高潮了免费视频| 无码熟妇人妻AV在线影院| 国产XXXX农村野外高潮HD发| 日韩人妻无码一区二区三区久久| JAVA强行VIDEOS另类| 欧美金妇欧美乱妇XXXX| 51久久精品人人搡人人玩| 免费A级毛片在线看| 在线成人看片黄A免费看| 久久久噜噜噜久噜久久| 野花新免费高清完整在线观看| 久久SE精品一区二区| 亚洲区综合区小说区激情区| 精华液一区二区区别| 亚洲国产一区二区A毛片| 狠狠色综合久久久久尤物| 亚洲А∨天堂久久精品PPYPP| 国产一区二区精品久久岳| 亚洲AV麻豆AⅤ无码电影| 国产日产欧洲无码视频| 午夜DJ免费完整在线看网| 国产蜜芽尤物在线一区| 小辣椒AV福利在线网站| 国产中国男男GayGay| 亚洲VA久久久噜噜噜久久狠狠| 国产在线视频www色| 亚洲A片成人无码久久精品色欲| 狠狠婷婷色五月中文字幕| 亚洲精品无码久久久久牙蜜区| 久草玖玖玖爱在线资源| 一本久道综合在线无码88| 邻居少妇张开腿让我爽了在线观看 | 亚洲人成无码WWW久久久| 久久久国产精品亚洲一区| 在线观看中文最近最新观看| 末发育女AV片一区二区| H罩杯大胸爆乳交在线观看| 日本高清中文字幕在线观穿线视频| 成人无码H动漫在线网站樱花| 少妇 精69XXXXXx白浆| 国产精品美女久久久网站| 亚洲AV无码成人精品区在线观看 | 亚洲精品无码午夜福利理论片| 久久久久精品无码一区二区三区| 尤物TV国产精品看片在线| 内射中出无码护士在线| 宝贝小嫩嫩好紧好爽H在线视频| 色婷婷成人AV电影| 国产精品亚洲综合一区在线观看| 亚洲AV伊人久久青青草原视色| 亚洲精品国产成人| 麻豆果冻传媒精品国产AV| CHINESE国产HD中国熟女| 日本VA视频免费在线观看| 国产成人精品一区二三区在线观看| 无码人妻精品一区二区三区66| 娇小性XXXXX极品娇小| 一本大道东京热无码AⅤ| 欧美顶级PPT免费模板网站| 哒哒哒WWW在线影院| 亚洲AV成人片色在线高潮| 久久久久精品国产四虎1| ASS鲜嫩鲜嫩PICS日本| 色又黄又爽18禁免费网站现观看| 国产无套粉嫩白浆在线| 一本一久本久A久久精品综合| 亚洲色大成网站WWW永久| 久久精品人人做人人爽老司机 | 夫妇联欢会回不去的夜晚樱花| 性少妇VIDEOXXX欧美69| 久久久久久AV无码免费网站下载| 99精产国品一二三产区区别电影| 色狠狠色噜噜AV一区| 狠狠色成人一区二区三区| 中文字幕乱人伦高清视频| 肉欲麻豆天美传媒| 后入内射无码人妻一区| 8888国产精华最好的产品| 婷婷久久综合九色综合97| 久久精品无码专区免费| 锕锕锕锕锕锕好污网站入口推特| 无遮挡边摸边吃奶边做视频免费| 久久久久久久精品成人热色戒 | 中文字幕精品一区二区精品| 日韩精品无码一本二本三本| 黑人巨鞭大战欧美丰满少妇| 97精品伊人久久久大香线蕉| 兽交ZOOSKOO| 久久久久久精品无码人妻| 尝到了甜头两人每天都会想方设法| 亚洲AV色区一区二区三区| 妺妺窝人体色www仙踪林 | 久久无码专区国产精品| 菠萝视频高清视频在线7| 亚洲AV无码国产蜜桃麻豆| 欧美极品少妇XXXXⅩ高跟鞋| 国产强伦姧在线观看无码| 性欧美人与ZOZOXXXX视频| 天堂影院一区二区三区四区| 久久中文字幕人妻丝袜系列| 东京热人妻丝袜AV无码| 亚洲中文字幕久久久一区| 日本熟妇在线一区二区三区 | 永久免费的啪啪网站免费观看浪潮| 搡老女人P老熟妇老熟女| 久久久无码精品亚洲日韩蜜臀浪潮|