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

解構(gòu)和函數(shù)參數(shù)

發(fā)布于:2021-02-11 00:00:19

0

78

0

JavaScript 解構(gòu) Babel

在過去的幾年中,JavaScript語言已經(jīng)受益于一些非常出色的新功能,包括箭頭函數(shù),擴(kuò)展運(yùn)算符和默認(rèn)函數(shù)參數(shù)值。即使您的瀏覽器尚不支持建議的JavaScript API語法添加,您也可以在Node.js應(yīng)用中使用Babel之類的工具來立即利用它們。

我最喜歡的JavaScript新功能之一是對象分解。如果您不熟悉JavaScript解構(gòu),那么它基本上提供了一種較短的語法來提取對象鍵的值,而不會引起點(diǎn)符號混亂:

// A sample object const myObject = { x: 1, y: 2 }; // Destructuring const { x, y } = myObject; // x is 1, y is 2

銷毀的基本語法非常簡單,但是當(dāng)這些自變量值應(yīng)具有默認(rèn)值時,將其與函數(shù)自變量一起使用會更加困難。以下是帶有默認(rèn)值的參數(shù)的函數(shù):

function myFunction(text = "", line = 0, truncate = 100) {     // With default values, we can avoid a bunch of:     text = text || "";     line = line || 0;     truncate = truncate || 100; }

無論使用哪種語言,如果一個函數(shù)使用的參數(shù)超過約3個,則最好傳遞一個對象名稱options 或config 包含可能的鍵/值的對象。等效形式如下:

function myFunction(config) { } // Usage myFunction({     text: "Some value",     line: 0,     truncate: 100   } )

但是,如果您想在JavaScript函數(shù)參數(shù)中使用解構(gòu)怎么辦?以下功能簽名將變?yōu)椋?/span>

function myFunction({ text, line, truncate }) { }

如果要在功能配置中定義默認(rèn)值,請使用以下命令:

function myFunction({    text = "",    line = 0,    truncate = 100  } = {}) {  // Even if the passed in object is missing a given key, the default is used! }

設(shè)置默認(rèn)值= { }很重要;如果沒有默認(rèn)值,則以下示例將出錯

TypeError: Cannot destructure property `key` of 'undefined' or 'null'

銷毀是一種很棒的語言功能,但可能導(dǎo)致混亂甚至錯誤。希望本指南中提供的基礎(chǔ)知識可以幫助您使用帶有功能的JavaScript解構(gòu)進(jìn)行導(dǎo)航!