国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

ES6基礎之默認參數值

2024-05-06 15:42:11
字體:
來源:轉載
供稿:網友

如果調用函數的過程中,定義的參數缺失,此參數變量的值則會是undefined。怎么給缺失的參數賦值默認值,在ES6之前,沒有簡潔的語法設置缺失參數的默認值,但是我們一般可以這么編寫代碼解決缺失參數默認值:

function myFunction(x, y, z) { x = x === undefined ? 1 : x; y = y === undefined ? 2 : y; z = z === undefined ? 3 : z; console.log(x, y, z); //Output "6 7 3" } myFunction(6, 7);

這種寫法是不是比較麻煩?默認值的設置是不是不夠直觀?在ES6中,我們可以用更簡潔的語法進行實現,通過本篇文章你將學習到以下內容:

使用ES6語法聲明參數默認 值使用undefined傳 參參數運算

使用ES6語法聲明參數默認值

我們可以使用ES6簡潔的語法,如下示例進行聲明函數參數的默認值:

function myFunction(x = 1, y = 2, z = 3) { console.log(x, y, z); }myFunction(6,7); // Outputs 6 7 3

在上述代碼示例中,我們在調用此函數中傳遞了前兩個參數,因此參數的默認值(即x=1和y=2)將會被覆蓋(即x=6和y=7)。由于第三個參數缺省,因此z使用默認值,將會是3。

使用undefined傳參

如果我們想讓具體某個參數使用默認值,我們可以使用undefined進行賦值,如下段代碼所示:

function myFunction(x = 1, y = 2, z = 3) { console.log(x, y, z); // Outputs "1 7 9" } myFunction(undefined,7,9);

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

參數運算

在ES6中我們不僅可以給參數默認賦值具體的數值,同時參數賦值支持參數的邏輯運算進行賦值,如下段代碼所示:

function myFunction(x = 1, y = 2, z = x + y) { console.log(x, y, z); // Output "6 7 13" } myFunction(6,7);

在上述代碼中,我們只傳入了前兩個參數,第三個參數缺省,第三個參數的值默認值是則會是前兩個參數之和。

小節

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

與解構賦值默認值結合使用

這里有兩種寫法需要區分一下:

function m1({x=0,y=0} = {}){  return [x,y];}function m2({x,y} = {x:0,y:0}){  return [x,y];}m1({x:3});//[3,0]m2({x:3});//[3,undefined]m1({});//[0,0]m2({});//[undefined,undefined]

參數默認值的位置

通常情況下,定義了默認值的參數應該是函數的尾參數。因為這樣比較容易看出,到底省略了哪些參數,如果非尾部的參數設置默認值,實際上這個參數是無法省略的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 永泰县| 张掖市| 元氏县| 兰溪市| 息烽县| 舒兰市| 景洪市| 大冶市| 阿图什市| 西林县| 夏津县| 西吉县| 普宁市| 万山特区| 淄博市| 宣城市| 铜梁县| 十堰市| 辽宁省| 永仁县| 阳高县| 商南县| 汤阴县| 西吉县| 徐水县| 开鲁县| 莲花县| 应城市| 芦溪县| 顺平县| 义乌市| 麻阳| 疏勒县| 达尔| 名山县| 虞城县| 政和县| 崇礼县| 沙河市| 朝阳县| 保康县|