這很有用喔,JavaScript 把零散程式封裝成插件時,會傳入物件相關選項 options,使封裝的程式因為選項 options 的屬性值不同而能實體化出更多可能。
建立封裝程式的選項 options 物件
為維持程式正常運行,通常都會建立一個預設值物件,在實體化的時候傳入一個選項 options 物件 ,與預設選項物件合併,後者覆蓋前者,以下為範例程式:
_default 為預設物件
options 為傳入物件
_options 為合併後物件
output:
options merge
如果兩個對象都有一個具有相同名稱的屬性,則第二個對象屬性將覆蓋第一個對象。
ES6在2015年引入了spread運算符【…】,這是將兩個簡單對象合併為一個的完美方法:
output:
參考資料:
https://stackoverflow.com/a/171256/6784662
[……]