前端高階攻略之ES6中的引數預設值

2021-10-24 02:26:41 字數 1006 閱讀 2756

我們都清楚在呼叫函式的過程中,定義的引數缺失,此引數變數的值則會是undefined。怎麼給缺失的引數賦值預設值,在es6之前,並沒有太簡潔的方法,如下段**所示:

function

myfunction

(x, y, z)

myfunction(6

,7);

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

myfunction

(x =

1, y =

2, z =3)

myfunction(6

,7);

//6 7 3

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

(x =

1, y =

2, z =3)

myfunction

(undefined,7,9);

在es6語法中如果想使用到引數預設值,還可以通過傳入undefined,來完成引數預設值,來是不是很簡單,只需要使用undefined,我們就可以指定具體某個引數使用預設值。

如果在特定的場景下,第乙個引數需要要到引數預設值,我們就可以使用undefined,非常的簡單方便。

function

myfunction

(x =

1, y =

2, z = x + y)

myfunction(6

,7);

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

前端高階攻略之ES6中的解構賦值

今天我們來 乙個新問題 之前在我們開發的過程中,難免會碰到這樣的情況 後端傳給我們一串資料,然後我們需要對這個資料進行處理。如果是這樣的乙個資料 let obj 然後我們需要用變數去儲存這些資料,那麼我們可能會這麼操作 let username obj.username,userid obj.use...

前端高階攻略之ES6中展開 收集運算子

收集,顧名思義把雜湊東西收集到乙個地方,這個地方es6規定收集在陣列中 例如 下面函式fn將傳遞的引數收集在arg變數中,列印arg是乙個陣列,裡面包含著傳來的引數。就像吃豆子一樣把值收到自己的嘴裡。functionfn arg fn 1,2,3 上面的 讓我們想起來arguments,也是儲存著傳...

前端高階攻略之事件迴圈 ES6事件佇列

事件迴圈與任務佇列是js中比較重要的兩個概念。這兩個概念在es5和es6兩個標準中有不同的實現。尤其在es6標準中,清楚的區分巨集觀任務佇列和微觀任務佇列才能解釋promise一些看似奇怪的表現。總所周知js是單執行緒 非同步 優點 不會有執行緒衝突 缺點 同步應用程式的開發比較容易,但由於需要在上...