成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

五個有用的TypeScript Typeof 運算符的技巧

開發 前端
在JavaScript中,我們可以通過typeof運算符獲取變量的類型,那么,你知道TypeScript中使用的typeof運算符是什么嗎? 在今天文章中,我將介紹 typeof 操作符的 5 個常見應用場景,您在以后的項目中可能會用到。

在JavaScript中,我們可以通過typeof運算符獲取變量的類型,那么,你知道TypeScript中使用的typeof運算符是什么嗎? 在今天文章中,我將介紹 typeof 操作符的 5 個常見應用場景,您在以后的項目中可能會用到。

1、獲取對象的類型

圖片

man 對象是一個常規的 JavaScript 對象,在 TypeScript 中你可以使用 type 或 interface 來定義對象的類型。 通過這種對象類型,你可以使用 TypeScript 內置的實用類型,例如 Partial、Required、Pick 或 Readonly,來處理對象類型以滿足不同的需求。

對于簡單的對象,這可能沒什么大不了的, 但對于嵌套層次較深的大型復雜對象,手動定義它們的類型可能會讓人頭疼。 要解決這個問題,可以使用 typeof 運算符。

type Person = typeof man;
type Address = Person["address"];

與之前手動定義類型相比,使用 typeof 運算符變得更加容易。 Person["address"] 是一種索引訪問類型,用于查找另一種類型(Person 類型)的特定屬性(地址)。

2. 獲取一個將所有枚舉鍵表示為字符串的類型

在 TypeScript 中,枚舉類型是被編譯成常規 JavaScript 對象的特殊類型:

因此,您還可以對枚舉類型使用 typeof 運算符。 但這通常沒有多大實際用處,在處理枚舉類型時,它通常與 keyof 運算符結合使用:

圖片

3.獲取函數對象的類型

還有一個更常見的場景是你的工作中使用了typeof操作符。 獲取對應的函數類型后,可以繼續使用TypeScript內置的ReturnType和Parameters實用類型,分別獲取函數的返回值類型和參數類型。

圖片

4.獲取類對象的類型

既然,typeof操作符可以處理函數對象,那它也可以處理Class對象? 答案是肯定的。

圖片

在上面的代碼中,createPoint 是一個創建 Point 類實例的工廠函數。 通過typeof運算符,可以獲得Point類對應的構造簽名,從而實現對應的類型驗證。 在定義Constructor的參數類型時,如果不使用typeof運算符,會出現如下錯誤信息:

圖片

5.獲得更精確的類型

在使用 typeof 運算符時,如果你想得到更精確的類型,那么,你可以將它與 TypeScript 3.4 版本引入的 const 斷言結合起來。 這是按以下方式使用的。

圖片

從上圖可以看出,在使用了const斷言之后,再使用typeof操作符,我們可以得到更精確的類型。

以上就是我今天跟你分享的5個關于TypeScript Typeof 運算符的技巧,希望你能從中學到新的東西,如果你覺得有幫助的話,請點贊我關注我,并將這篇文章分享給你的朋友,也許能夠幫助到他哦。

責任編輯:華軒 來源: web前端開發
相關推薦

2025-02-24 11:16:20

2020-12-10 08:11:52

typeof instanceofJS

2021-07-12 15:35:56

JavaScript代碼運算符

2022-05-30 09:44:11

TypeScriptJavaScript技巧

2014-08-14 10:12:45

SwiftNil Coalesc

2022-09-07 00:04:37

JavaScript運算符技巧

2023-04-10 08:58:13

C#關系運算符

2021-02-20 23:34:22

JavaScript運算符開發

2009-08-11 15:51:08

C#運算符算術運算符

2009-11-26 11:12:07

PHP運算符

2009-08-12 15:02:49

C#賦值運算符簡單賦值運算符

2009-08-12 15:20:18

C#賦值運算符復合賦值運算符

2010-01-19 15:30:44

VB.NET比較運算符

2021-05-07 06:27:29

JavaScript運算符開發

2025-03-05 09:37:03

2023-05-11 16:18:17

Angular開發RxJS

2023-05-18 15:32:02

HTML開發技巧

2022-12-25 16:03:31

JavaScript技巧

2022-12-22 14:44:06

JavaScript技巧

2009-08-12 12:46:11

C#運算符重載
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩亚洲视频 | 久久久成人动漫 | 欧美高清视频一区 | 日韩中文字幕在线观看视频 | 国产免费一区 | 亚洲不卡视频 | 凹凸日日摸日日碰夜夜 | 在线观看中文字幕 | 欧美另类视频在线 | 精品国产乱码久久久久久蜜臀 | 先锋资源吧 | 91精品久久久久久久久 | 中文字幕成人网 | 亚洲国产精品一区二区三区 | 在线国产一区二区 | 日韩高清中文字幕 | 国精品一区 | 国产精品自产av一区二区三区 | 亚洲男人天堂av | 国产精品爱久久久久久久 | 成人免费在线观看 | 国产精品揄拍一区二区久久国内亚洲精 | 日本三级电影在线看 | 免费黄色大片 | 色毛片 | 欧美精品一区二区三区在线播放 | 黑人精品xxx一区一二区 | 日韩一级在线 | a中文在线视频 | 亚洲午夜电影 | 丁香综合 | 亚洲精品欧美 | 中文字幕免费 | 免费看黄色小视频 | 国产精品久久久久久久久久免费看 | 91精品麻豆日日躁夜夜躁 | 91av免费观看 | 久久久性色精品国产免费观看 | 日本欧美在线观看视频 | 欧美日韩中文在线 | 日韩欧美在线视频 |