五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

TypeScript之類型安全&工廠模式

2023-08-28 20:34 作者:惠晴GD  | 我要投稿

TypeScript之類型安全

TypeScript之類型安全

TypeScript之類型安全

首先,講一下TS是如何去判斷兩個類型是不同的。TS中使用的是鴨子效應。

具體是這么描述的,一個動物如果他會游泳,能發(fā)出鴨子的聲音。那么它就可以說是一只鴨子。

比如會游泳,會發(fā)出鴨子聲的人類實例,也可以叫做為鴨子。

這種情況下,貓和狗是一致的。

當然這樣是存在著相當大的風險的,因為當你接受的參數(shù)希望是一只貓的時候。你接收了一條狗都不知道。

所以,TS中用另外一種方式去實現(xiàn)。完全的類型隔離

首先1unique symbol來實現(xiàn)限定,然后2再在class中使用這個unique symbol

為了更加方便的使用,會給它們加上get和set

綜上就是TS中完全實現(xiàn),類型分割的方式。這種class的方式是相當?shù)姆€(wěn)妥。相當于創(chuàng)造出了新的一種類型。

在后面的使用中,它也會屏蔽掉TS的鴨子類型

但是即使這樣,這里還是可能會有Bug。Bug出現(xiàn)在new的時候。問自己一個問題,有沒有-1塊。沒有吧,所以,我們應該限制這種錯誤發(fā)生

(1)首先,遇到這種情況的時候,我們會想到在construct中做文章。比如這樣

面對輸入的Number的時候,new的結果要不是successful,要不就拋出異常。實際上這樣子相當?shù)牟缓?。new應該就是new,就正常的賦值實際上就很不錯,而不是還要判斷啥的。而且正常情況下,我們應該返回undefined/null而不是拋出異常

這時候,我們就要用到工廠模式了,或者說工廠模式的真正初衷是這個。

(1)我們先給constructor加上private限制符,這樣子就只能用工廠模式中的方法去構造了。

這樣一個合格的原創(chuàng)類型的實現(xiàn)完成了。

當然,這里面的工廠模式并不是為了讓你死記硬背,而是要理解工廠模式的初衷是為了給new的輸入數(shù)值進行排雷。


2023-8-28? ?惠晴_GD




TypeScript之類型安全&工廠模式的評論 (共 條)

分享到微博請遵守國家法律
上饶市| 平定县| 云林县| 太保市| 石泉县| 平度市| 南通市| 清镇市| 永靖县| 宝清县| 康马县| 福州市| 甘孜县| 海伦市| 青浦区| 井研县| 伊通| 理塘县| 安义县| 八宿县| 太谷县| 鄱阳县| 灵台县| 浪卡子县| 罗江县| 屏东县| 大田县| 新民市| 和静县| 甘泉县| 湾仔区| 威远县| 娱乐| 雷山县| 马龙县| 林甸县| 霞浦县| 茌平县| 永新县| 婺源县| 遂川县|