最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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之類型安全&工廠模式的評論 (共 條)

分享到微博請遵守國家法律
沐川县| 大悟县| 南皮县| 任丘市| 廉江市| 湘潭县| 门头沟区| 香格里拉县| 黔西| 九寨沟县| 皮山县| 固镇县| 海原县| 英山县| 富顺县| 田东县| 波密县| 舟山市| 辽宁省| 罗田县| 阿克苏市| 康马县| 应用必备| 兴宁市| 长顺县| 台东县| 峨山| 景洪市| 夏邑县| 吉林市| 桃园县| 黑水县| 邵阳市| 台山市| 琼中| 自治县| 霍邱县| 育儿| 满城县| 大理市| 宝鸡市|