關於預設引數( Default parameters)
前言
不知從什麼時候開始 JavaScript 開始支援預設引數( Default parameters) ,在此把學習的過程做個紀錄。
內容
範例如下
function call( name = 'DefaultName' ){ return name } // console.log( call() );//DefaultName // function testCall1( val1 = 1 , val2 ){ return val1 + val2; } console.log( testCall1(1) );//NaN // function testCall2( val1 , val2 = 1 ){ return val1 + val2; } console.log( testCall2(1) );//2
預設引數( Default parameters) 用起來很簡單,只要在宣告時在引數後方給予預設值即可使用,不過要注意多個引數又有的沒預設引數的狀況,像 testCall1() 的結果遽然是 NaN ,理由也很簡單引為匹配引數時並不如預期,預期是 testCall1( 1(default) ,1) ,但最後匹配的是 testCall1( 1 , undefined ) ,像 testCall2() 這樣就沒問題,會如預期一樣匹配,所以有預設值的引數要盡量向後擺。