国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

分享到微博請遵守國家法律
正镶白旗| 富宁县| 舞钢市| 宕昌县| 聊城市| 渝北区| 延边| 乌审旗| 潜江市| 清流县| 蓬安县| 江华| 如东县| 大冶市| 梨树县| 南昌县| 菏泽市| 崇文区| 宣化县| 雷波县| 易门县| 巴塘县| 遵义市| 道孚县| 陆河县| 乌审旗| 封丘县| 沙湾县| 安康市| 新龙县| 马龙县| 华容县| 嘉峪关市| 天柱县| 治县。| 镇宁| 彭州市| 吉安市| 秦皇岛市| 广南县| 大邑县|