ES6 函式擴充套件(函式引數預設值)

2022-03-28 11:14:15 字數 714 閱讀 3242

es6 之前,不能直接為函式的引數指定預設值,只能採用變通的方法。

function log(x, y) 

log('hello') // hello world

log('hello', 'china') // hello china

log('hello', '') // hello world

面**檢查函式log的引數y有沒有賦值,如果沒有,則指定預設值為world。這種寫法的缺點在於,如果引數y賦值了,但是對應的布林值為false,則該賦值不起作用。就像上面**的最後一行,引數y等於空字元,結果被改為預設值。

為了避免這個問題,通常需要先判斷一下引數y是否被賦值,如果沒有,再等於預設值。

if (typeof y === 'undefined')
es6 允許為函式的引數設定預設值,即直接寫在引數定義的後面。

function log(x, y = 'world') 

log('hello') // hello world

log('hello', 'china') // hello china

log('hello', '') // hello

ES6函式擴充套件(函式引數預設值)

一 函式的預設引數基本使用方法function test x,y hello test winne 函式引數 winne hello test winne hi 函式引數 winne hi如上 我們可以看出,當函式引數有了預設值可以不傳入那個引數,那麼就直接使用預設的引數。注意 引數變數是預設宣告的...

ES6中函式的擴充套件(函式引數預設值)

es6允許為函式的引數設定預設值,即直接寫在引數定義的後面。function log x,y world log hello hello world log hello china hello china log hello hello function point x 0,y 0 const p ...

ES6 函式預設值

1 es6之前,函式如果需要預設值,需要在函式內額外處理,如 function log x,y log hello hello world log hello es6 hello es6 log hello hello world上述 中第二行,檢查y引數是否有值,如果沒有,將其賦值為預設值 wor...