ES6基礎 預設引數值

2021-09-11 12:39:16 字數 1126 閱讀 3809

如果呼叫函式的過程中,定義的引數缺失,此引數變數的值則會是undefined。怎麼給缺失的引數賦值預設值,在es6之前,沒有簡潔的語法設定缺失引數的預設值,但是我們一般可以這麼編寫**解決缺失引數預設值:

function

myfunction(x, y, z)

myfunction(6, 7);複製**

這種寫法是不是比較麻煩?預設值的設定是不是不夠直觀?

本篇文章閱讀時間大約5分鐘

我們可以使用es6簡潔的語法,如下示例進行宣告函式引數的預設值:

function

myfunction(x = 1, y = 2, z = 3

) myfunction(6,7); // outputs 6 7 3

複製**

在上述**示例中,我們在呼叫此函式中傳遞了前兩個引數,因此引數的預設值(即x=1和y=2)將會被覆蓋(即x=6和y=7)。由於第三個引數預設,因此z使用預設值,將會是3。

如果我們想讓具體某個引數使用預設值,我們可以使用undefined進行賦值,如下段**所示:

function

myfunction(x = 1, y = 2, z = 3

) myfunction(undefined,7,9);複製**

是不是很簡單,只需要使用undefined,我們就可以指定具體某個引數使用預設值。

在es6中我們不僅可以給引數預設賦值具體的數值,同時引數賦值支援引數的邏輯運算進行賦值,如下段**所示:

function

myfunction(x = 1, y = 2, z = x + y)

myfunction(6,7);複製**

在上述**中,我們只傳入了前兩個引數,第三個引數預設,第三個引數的值預設值是則會是前兩個引數之和。

今天的內容就到這裡,當我們在開發一些工程應用通用元件時,都需要暴露一些介面以供使用。而這些介面的友好性是決定這個元件質量的一大指標,其中引數預設值(預設值)的完善程度同時也影響介面的友好性,感謝es6能讓我們用如此簡介的語法設定引數的預設值。

【es6基礎】let和作用域

【es6基礎】const介紹

es6 函式預設引數 物件

注意引數是物件,並且等號左邊是解構後的變數,用等號賦值,右邊是引數,也就是正常的變數,所以物件用冒號給值 案例1 是對解構後的變數給預設值 function move 沒什麼好說的 console.log move 3,8 引數直有乙個x,所以解構後沒有y則使用預設 console.log move...

es6基礎0x003 預設引數

function name param1 defaultvalue1 paramn defaultvaluen function sum a 0,b 0 sum 0 sum 1 1 sum 1,2 3使用babel翻譯一下 function sum 從babel翻譯的結果可以看出,預設引數只檢查兩種...

ES6 數值擴充套件

1.二進位制表示法 以0b開頭console.log b 0b111110111 4942.八進位制表示法 以0o開頭console.log 0o767 5033.判斷乙個數是否有盡 或者判斷是否為字元console.log 15 number.isfinite 15 isfinite 判斷數值是否...