国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ES 2023新特性速解

這篇具有很好參考價值的文章主要介紹了ES 2023新特性速解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

ES 2023新特性速解

一、新增數(shù)組方法

操作數(shù)組的方法

Array.prototype.toSorted(compareFn)		//返回一個新數(shù)組,其中元素按升序排序,而不改變原始數(shù)組。
Array.prototype.toReversed()	//返回一個新數(shù)組,該數(shù)組的元素順序被反轉(zhuǎn),但不改變原始數(shù)組。
Array.prototype.toSpliced(start,deleteCount,item1...,itemN)		//返回一個新數(shù)組,在給定索引處刪除和/或替換了一些元素,而不改變原始數(shù)組。

新增的這三個數(shù)組方法分別對標以下原有的以下三個方法,它們與原先方法的區(qū)別就是:執(zhí)行它們并不會影響原先的數(shù)組

Array.prototype.sort(compareFn)		
Array.prototype.reverse()
Array.prototype.splice(start,deleteCount,item1...,itemN)

toSorted

compareFn:指定一個定義排序順序的函數(shù)。如果省略,則將數(shù)組元素轉(zhuǎn)換為字符串,然后根據(jù)每個字符的 Unicode 碼位值進行排序。

compareFn(a, b) 返回值 排序順序
> 0 ab后,如[b, a]
< 0 ab前,如[a, b]
=== 0 保持 ab 原來的順序
const arr = [5,7,8,61,24,32,42,35]
//不傳入?yún)?shù)
const sortArr1 = arr.toSorted()
//傳入箭頭函數(shù) 	a:比較的第一個元素,b:比較的第二個元素
const sortArr2 = arr.toSorted((a,b)=>a-b)

console.log(arr)			//[5, 7, 8, 61, 24, 32, 42, 35]
console.log(sortArr1)		//[24, 32, 35, 42, 5, 61, 7, 8]
console.log(sortArr2)		//[5, 7, 8, 24, 32, 35, 42, 61]

toReversed

const arr = [5,7,8,61,24,32,42,35]

const reverseArr = arr.toReversed()

console.log(arr)			//[5, 7, 8, 61, 24, 32, 42, 35]
console.log(reverseArr) 	//[35, 42, 32, 24, 61, 8, 7, 5]

toSpliced

start

從 0 開始計算的索引,表示要開始改變數(shù)組的位置,它會被轉(zhuǎn)換為整數(shù)。

  • 如果 start < 0,則從數(shù)組末尾開始計數(shù),使用 start + array.length。
  • 如果 start < -array.length 或者省略了 start,則使用 0
  • 如果 start >= array.length,不會刪除任何元素,但該方法將表現(xiàn)為添加元素的函數(shù),添加提供的所有元素。

deleteCount 可選

一個整數(shù),指示數(shù)組中要從 start 刪除的元素數(shù)量。

如果 deleteCount 被省略了,或者如果它的值大于或等于由 start 指定的位置到數(shù)組末尾的元素數(shù)量,將會刪除從 start 到數(shù)組末尾的所有元素。但是,如果你想要傳遞任何 itemN 參數(shù),則應(yīng)向 deleteCount 傳遞 Infinity 值,以刪除 start 之后的所有元素,因為顯式的 undefined 會轉(zhuǎn)換為 0。

如果 deleteCount0 或者負數(shù),則不會刪除元素。在這種情況下,你應(yīng)該指定至少一個新元素(見下文)。

item1, …, itemN 可選

元素將從 start 開始添加到數(shù)組當(dāng)中。

如果你沒有指定任何元素,toSpliced() 只會從數(shù)組中刪除元素。

const arr = [5,7,8,61,24,32,42,35]
//插入元素
const insertArr = arr.toSpliced(0,0,7)
//刪除元素
const deleteArr = arr.toSpliced(0,1)

//替換元素
const replaceArr = arr.toSpliced(0,1,7)

console.log(arr)			//[5, 7, 8, 61, 24, 32, 42, 35]
console.log(insertArr) 		//[7, 5, 7, 8, 61, 24, 32, 42, 35]
console.log(deleteArr) 		//[7, 8, 61, 24, 32, 42, 35]
console.log(replaceArr) 	//[7, 7, 8, 61, 24, 32, 42, 35]

瀏覽器兼容性

ES 2023新特性速解

查找數(shù)組元素的方法

Array.prototype.findLast(compareFn)		//方法反向迭代數(shù)組,并返回滿足提供的測試函數(shù)的第一個元素的值。如果沒有找到對應(yīng)元素,則返回 undefined。
Array.prototype.findLastIndex()		//方法反向迭代數(shù)組,并返回滿足提供的測試函數(shù)的第一個元素的下標索引。如果沒有找到對應(yīng)元素,則返回 undefined。

callbackFn

數(shù)組中測試元素的函數(shù)?;卣{(diào)應(yīng)該返回一個真值,表示已找到匹配的元素,否則返回一個假值。函數(shù)在被調(diào)用時會傳遞以下參數(shù):

  • element

    當(dāng)前遍歷到的元素。

  • index

    當(dāng)前遍歷到的元素的索引(位置)。

  • array

    調(diào)用 findLast() 的數(shù)組本身。

findLast

const arr = [5,7,8,61,24,32,42,35]

console.log(arr.findLast(a=>a === 5))

findLastIndex

const arr = [5,7,8,61,24,5,32,42,35]

console.log(arr.findIndex(a=>a === 5))	//0

console.log(arr.findLastIndex(a=>a === 5))	//5

瀏覽器兼容性

ES 2023新特性速解

二、WeakMap支持鍵值類型新增

新增Sybmol類型來作為WeakMap的Key,助于對象被垃圾收集

const symbol= Symbol('foo')

const weakMap = new WeakMap()

weakMap.set(symbol,51)

weakMap.get(symbol) //51

瀏覽器兼容性

ES 2023新特性速解

ES 2023新特性速解

三、Hashbang 語法

Hashbang 注釋是一種特殊的注釋語法,其行為與單行注釋 (//) 完全一樣,只是它以 #! 開頭,并且只在腳本或模塊的最開始處有效。注意,#! 標志之前不能有任何空白字符。注釋由 #! 之后的所有字符組成直到第一行的末尾;只允許有一條這樣的注釋。JavaScript 中的 hashbang 注釋類似于 Unix 中的 shebang,它提供了一個特定的 JavaScript 解釋器的路徑,用它來執(zhí)行這個腳本。

// 寫在腳本文件第一行
#!/usr/bin/env node
'use strict';
console.log(1);


// 寫在模塊文件第一行
#!/usr/bin/env node
export {};
console.log(1);

這樣就可以直接運行腳本代碼了

# 以前執(zhí)行腳本
node demo.js


# 有了 hashbang 之后執(zhí)行腳本
./demo.js

只有當(dāng)腳本直接在 shell 中運行時,Hashbang 語法才有語意意義,其他環(huán)境下 JavaScript 解釋器會把它視為普通注釋。

參考文檔地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/toSpliced文章來源地址http://www.zghlxwxcb.cn/news/detail-709862.html

到了這里,關(guān)于ES 2023新特性速解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • .Net 6.0中的新增特性_.Net 6.0中的新增功能

    .Net 6.0中的新增特性_.Net 6.0中的新增功能 一、.Net 6 介紹 .NET 6 作為 LTS 長期支持版本,.NET 6 將會獲得 3 年的技術(shù)支持。 .NET 6 是首個原生支持 Apple Silicon (Arm64) 的版本,并且還針對 Windows Arm64 進行了改進。 .NET 團隊構(gòu)建了一個新的動態(tài)配置文件引導(dǎo)優(yōu)化 (PGO) 系統(tǒng),該系統(tǒng)可提

    2024年02月05日
    瀏覽(20)
  • 【全面】CSS3新增了哪些新特性?

    目錄 一、選擇器的擴展 1.??屬性選擇器 2.?偽類選擇器 3.?偽元素選擇器 二、盒子模型的增強 ?1.?box-sizing屬性 2. 邊框圓角(border-radius) 3.?盒陰影(box-shadow) 三、過渡和動畫效果 1.?過渡效果 2.?動畫效果 四、響應(yīng)式布局 1.?媒體查詢(media query) 2.?彈性布局(Flexbox)

    2024年02月07日
    瀏覽(21)
  • es elasticsearch 新增更新索引,新增更新文檔

    先新增索引 新增映射 ?或者上述兩步和為一步(創(chuàng)建索引,及創(chuàng)建mapping) 只能增加原有不存在的字段 創(chuàng)建一個全新的索引,映射包含調(diào)整后的字段或類型 將原有索引的數(shù)據(jù)遷移到新的索引 刪除原有索引 將新的索引的別名設(shè)置為原來索引相同名稱 創(chuàng)建一個 重建文檔(全量

    2024年02月11日
    瀏覽(24)
  • 開源進展 | WeBASE v3.1.0發(fā)布,新增多個實用特性

    開源進展 | WeBASE v3.1.0發(fā)布,新增多個實用特性

    WeBASE是一個友好、功能豐富的區(qū)塊鏈中間件平臺,通過一系列通用功能組件和實用工具,助力社區(qū)開發(fā)者更快捷地與區(qū)塊鏈進行交互。 目前WeBASE已更新迭代至v3.1.0版本,本次更新中,WeBASE帶來了最新的合約Java腳手架導(dǎo)出功能,完成達夢數(shù)據(jù)庫適配,新增WeBASE CRUD預(yù)編譯接口代

    2024年02月14日
    瀏覽(20)
  • 【從零開始學(xué)習(xí)C++ | 第二十一篇】C++新增特性 (上)

    【從零開始學(xué)習(xí)C++ | 第二十一篇】C++新增特性 (上)

    目錄 ?前言: 委托構(gòu)造函數(shù): 類內(nèi)初始化: 空指針: 枚舉類: 總結(jié): ? ? ? ? C++的學(xué)習(xí)難度大,內(nèi)容繁多。因此我們要及時掌握C++的各種特性,因此我們更新本篇文章,向大家介紹C++的新增特性。 委托構(gòu)造函數(shù)是指一 個類的構(gòu)造函數(shù)調(diào)用另一個類的構(gòu)造函數(shù),以減少代

    2024年02月13日
    瀏覽(19)
  • 【從零開始學(xué)習(xí)C++ | 第二十二篇】C++新增特性(下)

    【從零開始學(xué)習(xí)C++ | 第二十二篇】C++新增特性(下)

    目錄 前言: 類型推導(dǎo): constexpr: 初始化列表: 基于范圍的for循環(huán): 智能指針之unique ptr Lambda表達式: 總結(jié): ????????本文我們將繼續(xù)介紹? ?C++ 11 新增十大特性的剩余六個,如果沒有看過介紹前四個特性的小伙伴的可以點進我C++的專欄就可以看到。 類型推導(dǎo)(

    2024年02月14日
    瀏覽(20)
  • 關(guān)于HTML5的新增特性,你只需要了解這3點

    關(guān)于HTML5的新增特性,你只需要了解這3點

    ??所屬專欄:前端只因變鳳凰之路 ??作者簡介:rchjr——五帶信管菜只因一枚 ??前言:該系列將持續(xù)更新前端的相關(guān)學(xué)習(xí)筆記,歡迎和我一樣的小白訂閱,一起學(xué)習(xí)共同進步~ ?? 文章簡介:本文介紹常見html5的新增特性。知識學(xué)習(xí)內(nèi)容來自b站的 @ 黑馬程序員 的視頻 html5新

    2023年04月09日
    瀏覽(22)
  • mysql8.0.30一些新增特性和xtrabackup的對應(yīng)

    應(yīng)客戶需求在給mysql實例進行升級之后,(從8.0.2X升級到8.0.3X),發(fā)現(xiàn)不能備份成功,查看日志發(fā)現(xiàn)是xtrabackup備份時找不到事務(wù)日志ib_logfile0。 經(jīng)過查看,發(fā)現(xiàn)data目錄下面確實沒有這個文件,導(dǎo)致備份失敗。 事務(wù)日志對于mysql是必要的,它可以保證mysql故障恢復(fù)和write-ahead-

    2024年02月09日
    瀏覽(18)
  • css基礎(chǔ)知識十一:CSS3新增了哪些新特性?

    css基礎(chǔ)知識十一:CSS3新增了哪些新特性?

    一、是什么 css,即層疊樣式表(Cascading Style Sheets)的簡稱,是一種標記語言,由瀏覽器解釋執(zhí)行用來使頁面變得更為美觀 css3是css的最新標準,是向后兼容的,CSS1/2的特性在CSS3 里都是可以使用的 CSS3 也增加了很多新特性,為開發(fā)者帶來了更佳的開發(fā)體驗 從幾個維度列舉一些

    2024年02月11日
    瀏覽(27)
  • es 新增,修改,刪除,查詢

    1.新增? put 請求 2.指定字段修改? post請求 3.全部修改? put 請求 4.刪除 delete請求 ?5.指定某一個id查詢數(shù)據(jù) get 請求 6. 指定多個id查詢?get 請求

    2024年02月12日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包