javaScript 新方向 (3)

我們創(chuàng)建一個(gè)對(duì)象 sam ,讓后調(diào)用 Object.freeze 將該對(duì)象變?yōu)椴豢勺儗?duì)象。

這樣我們創(chuàng)建一個(gè)對(duì)象時(shí),如果是在之前對(duì)象的基礎(chǔ)上進(jìn)行擴(kuò)展,也可以理解繼承,然后修改那些標(biāo)識(shí)不同對(duì)象的屬性值來重新獲取定義一個(gè)對(duì)象。類似在這里我們 olderSam 的 age 增加? 1,看上去沒有什么問題,通常我們也是這么做,但是這樣做的就會(huì)在 olderSam 和 sam 之間產(chǎn)生耦合度。


設(shè)想我們?yōu)閷?duì)象添加 sam 一個(gè)新的 twitter 的屬性,這時(shí)樣還需修改 olderSam, 添加該屬性以保持一致,這就是我們的問題。

然后不手動(dòng)地為 olderSam?添加 twitter 屬性,是否無法自動(dòng)更新添加該屬性以繼承 sam?的?twitter 屬性的。?

這樣我們就需要在 sam 和 olderSam 兩個(gè)對(duì)象上做重復(fù)的工作。這是違反我們寫優(yōu)雅代碼的原則的。

解構(gòu)我們通常組裝一個(gè)對(duì)象,根據(jù)屬性來組裝對(duì)象,類似安裝圖紙來組裝一個(gè)設(shè)配,那么解構(gòu)就類似安裝圖紙將現(xiàn)有的對(duì)象進(jìn)行一一分解。我們可以通過解構(gòu)的特性來輕松地實(shí)現(xiàn)我們想要的效果。

我們可以定義一個(gè)方法,接受一個(gè)名稱作為參數(shù),輸出?hello ...?呵呵。

在 kotlin 這樣現(xiàn)代新興語言基本都支持參數(shù)默認(rèn)值的特性,在 javascript?中?es6?中同樣也支這個(gè)新的特性。我們可以在默認(rèn)參數(shù)值中使用模板字面量,這里通過$占位符解析的變量。

我們可以在參數(shù)變量中使用解析器。

如果我們輸入 null ,會(huì)將?null?作為值輸入顯示。

但是如果傳入 undefined?作為參數(shù)值,就會(huì)使用默認(rèn)值而認(rèn)為您沒有傳入?yún)?shù)值。?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容