摘要:聯合類型聯合類型表示一個值可以時集中類型之一,使用進行分隔每種類行。聯合類型的變量在被賦值的時候,根據類型推論的規則,推斷出一個類型。
聯合類型
聯合類型表示一個值可以時集中類型之一,使用 | 進行分隔每種類行。
聯合類型的變量在被賦值的時候,根據類型推論的規則,推斷出一個類型。
聯合類型的變量當被推斷出類型后,就變得和正常聲明的變量一樣:
let ffffd: string | number; ffffd = "hello world"; // ffffd被推斷成了 string,訪問 length 屬性不會報錯 console.log(ffffd.length); ffffd = 255; // 報錯 ffffd 被推斷成了 number,訪問 length 屬性時就報錯了 console.log(ffffd.length);
聯合類型的變量沒有被推斷出類型時,這個變量只能訪問聯合類型中所有類型共有的屬性:
function func(name: string, age: string | number) { // Error,Property "length" does not exist on type "string | number".Property "length" does not exist on type "number". console.log(age.length); // 編譯通過 console.log(age.toString()); }交叉類型
交叉類型是將多個類型合并為一個類型,交叉類型的變量擁有所有類型的所有屬性、方法,使用 & 進行合并類型:
function extend(first: T, second: U): T & U { const result = {}; for (let id in first) { ( result)[id] = first[id]; } for (let id in second) { if (!result.hasOwnProperty(id)) { (result)[id] = second[id]; } } return result; } const x = extend({ a: "hello" }, { b: 42 }); // 現在 x 擁有了 a 屬性與 b 屬性 const a = x.a; const b = x.b;
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/106783.html
摘要:函數類型函數返回值類型我們可以給每個參數添加類型之后再為函數本身添加返回值類型。能夠根據返回語句自動推斷出返回值類型,所以通常可以省略它匿名函數完整函數類型完整的函數類型包含兩部分參數類型和返回值類型。 函數是 JavaScript 的第一等公民,函數在 JavaScript 中可以實現抽象層、模擬類、信息隱藏和模塊等等。TypeScript 在一定基礎上擴展了函數的功能。 函數類型 ...
摘要:通常會定義為函數的返回值一個類型的變量是沒有生命用處的,因為類型的變量只能賦值為。和有一些區別的,函數沒有返回值時返回類型為的方法,即使沒有寫明語句,也會在函數執行完的時候,隱式地返回一個類型。中新增加的變量聲明方式。 類型注解 類型注解使用 :TypeAnnotation 語法。類型聲明空間中可用的任何內容都可以用作類型注解。 const num: number = 123; fun...
摘要:自帶的內置對象都可以直接在中當作定義好的類型。的內置對象標準提供了常用的內置對象等。在不需要額外引入就可以直接使用這些內置對象用寫不是內置對象的一部分,想要寫時提示,需要引入第三方聲明文件 JavaScript 自帶的內置對象都可以直接在 TypeScript 中當作定義好的類型。 TypeScript 核心庫的定義文件 TypeScript 核心庫的定義文件定義了所有瀏覽器環境需要用...
摘要:接口的作用是聲明變量的結構和方法,但不做具體的實現。這兩個使用場景不同。額外的屬性檢查從字面上的意思看,其實就是對接口未定義的屬性進行檢查。上面的例子,定義了接口,它具有索引簽名。它不會幫你檢查類是否具有某些私有成員。 接口的作用是聲明變量的結構和方法,但不做具體的實現。通常,接口會強制對所有成員進行類型檢查,包括數量和類型: interface Name { first: s...
摘要:當滿足以下條件時,枚舉成員被當作是常數不具有初始化函數并且之前的枚舉成員是常數。在這種情況下,當前枚舉成員的值為上一個枚舉成員的值加。但第一個枚舉元素是個例外。枚舉成員使用常數枚舉表達式初始化。 數字類型枚舉 常規枚舉的值都是數字類型,因此被稱為數字類型枚舉: enum Color { Red, Blue, Green } console.log(Color.R...
閱讀 2665·2021-11-11 16:54
閱讀 3657·2021-08-16 10:46
閱讀 3441·2019-08-30 14:18
閱讀 3034·2019-08-30 14:01
閱讀 2723·2019-08-29 14:15
閱讀 2007·2019-08-29 11:31
閱讀 3083·2019-08-29 11:05
閱讀 2583·2019-08-26 11:54