中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

六個小巧但很棒的ES7 + ES8功能

發(fā)布于:2021-02-13 00:00:52

0

93

0

JavaScript ES7 ES8

在過去五年中,針對核心JavaScript語言的新功能的開發(fā)確實得到了改善,這在一定程度上要歸功于JavaScript框架不斷突破極限并證明了給定功能的重要性。我之前在ES6上發(fā)表的文章《六個微小但令人敬畏的ES6功能》和《六個另外微小但令人敬畏的ES6功能》重點介紹了JavaScript中添加的許多出色功能,這些功能使我們的生活更輕松-當然可以。讓我們看一下ES7和ES8帶給我們的一些“小”功能!

String.prototype.padStart/padEnd

padStart 并padEnd允許我們使用我們選擇的任何文本填充給定的字符串,以確保字符串匹配給定的長度:

// padStart(desiredLength, textToPrepend)

// No text
''.padStart(10, 'Hi') // 'HiHiHiHiHi'

// Some text
'def'.padStart(6, 'abc') // 'abcdef'

// Only use what gets to length
'5678'.padStart(7, '1234') // '1235678'

// padEnd(desiredLength, textToAppend)

'23'.padEnd(8, '0') // '23000000'

一種用法是,padStart 如果用戶輸入的長度不正確,則在電話號碼前添加區(qū)號。  padEnd 可以用于十進制精度。

Object.entries

Object.entries 允許我們以數(shù)組格式([鍵,值])獲取對象的可枚舉屬性對:

// Object literal
Object.entries({ 'a': 'A', 'b': 'B' }); // [["a","A"],["b","B"]]

// String
Object.entries('david') // [["0","d"],["1","a"],["2","v"],["3","i"],["4","d"]]

Object.entries遵循相同的順序for...in。

Object.values

Object.keys 對我來說非常有用,所以我也很高興看到Object.values介紹:

// Object literal
Object.values({ 'a': 23, 'b': 19 }) // [23, 19]

// Array-like object (order not preserved)
Object.values({ 80: 'eighty', 0: 1, 1: 'yes' }) // [1, 'yes', 'eighty']

// String
Object.values('davidwalsh') // ["d", "a", "v", "i", "d", "w", "a", "l", "s", "h"]

// Array
Object.values([1, 2, 3]) // [1, 2, 3]

Object.values 提供對象文字,數(shù)組,字符串等中的值條目。

Array.prototype.includes

Array.prototype.includes 有點像,indexOf但返回一個true orfalse值,而不是該項目的索引:

['a', 'b', 'c'].includes('a') // true, not 0 like indexOf would give
['a', 'b', 'c'].includes('d') // false

indexOf 多年來一直用于檢測數(shù)組中的項目,但是如果編碼不正確,則索引'0'可能導致假陰性。我很高興JavaScript添加了一個函數(shù),該函數(shù)返回的正是我們所需要的:肯定或否定答案!

求冪

JavaScript引入了一種求冪的簡寫方法:

// 2 to the power of 8
Math.pow(2, 8) // 256

// ..becomes
2 ** 8 // 256

這種新語法Math.pow與使用更少的代碼即可完成相同的工作  !

尾隨逗號

我已經足夠大了,還記得在Internet Explorer 6中尾隨逗號會完全炸開JavaScript代碼的日子。JavaScript現(xiàn)在可以容納額外的逗號:

let myObj = { a:'b', b: 'c', } // No error!

let myArr = [1, 2, 3, ] // No error!

[1, 2, 3,].length // 3
[1, 2, 3, , , ].length // 5

請記住數(shù)組長度的情況。ESLint有一條comma-dangle 規(guī)則可用于確保逗號懸掛用法的一致性。

async/await

顯然,async 和await,處理異步任務的新方法并沒有增加“微小”的功能,但是它確實很棒!閱讀我的異步等待指南,將您的回調地獄變成一種更優(yōu)雅,自上而下的異步代碼方法!

在JavaScript的每次迭代中,我們都在解決由于缺乏功能或混用其他功能而遇到的問題。您最近最喜歡JavaScript的什么功能?