五月天青色头像情侣网名,国产亚洲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之類型安全&工廠模式的評論 (共 條)

分享到微博請遵守國家法律
孟州市| 通河县| 和田县| 乐山市| 南召县| 阳谷县| 饶平县| 淮南市| 商河县| 余庆县| 来宾市| 山东省| 祁连县| 襄城县| 威信县| 巧家县| 赤城县| 吉林省| 舞阳县| 马山县| 贡觉县| 新邵县| 泽州县| 镇康县| 固镇县| 曲靖市| 长阳| 醴陵市| 讷河市| 武川县| 涞源县| 中江县| 鸡西市| 德令哈市| 玉田县| 巍山| 龙井市| 喀什市| 汾阳市| 贵溪市| 当雄县|