javascript 函式的簽章方法,也就是輸入的參數可以有預設值,可以先參考一下MDN的文件說明
可以透過這個方式,將原本由外部注入的事件若沒有處理,也可以有預設的方式來做
例如,移除陣列中的某個數字,如果找不到,就拋出一個例外,同時也提供讓發生這件事情的時候,程式該怎麼處理,也能夠由外部來指定的彈性
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| function removeSomething( source, value, fnIfAbsent = () => { throw new RangeError(); } ) { const index = source.indexOf(value); if (index === -1) fnIfAbsent(index); else source.splice(index, 1); }
let value = 3; let data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; removeSomething(data, value, val => { console.log(`集合內沒有 ${value} 這個值`); }); console.log(data);
|