TypeScript知識點梳理

2021-10-19 17:32:00 字數 1413 閱讀 6649

一、原始資料型別

js原始資料型別包括:布林值、數值、字串、nullundefined以及 es6 中的新型別 symbol和 bigint。

ts中的原始資料型別包括:boolean、number、string、void、null、undefined

void表示沒有任何返回值的函式。

null和undefined是所有型別的子型別,也就是說null和undefined能賦值給任一型別,如:let a: string = undefined

二、任意值any和型別推導

any型別是可以賦值為任意型別,任意值可以訪問任意屬性和方法。

如果變數在宣告時未指定型別和賦值,那麼會預設為任意值型別,如果變數在宣告時未指定型別但有賦值,則會進行型別推導。

三、聯合型別

聯合型別使用|分隔每個型別。如: let a: string | number

當不確定是哪個型別時,只能訪問所有型別共有的屬性和方法。

聯合型別在賦值時,會根據型別推論的規則推斷出乙個型別。

四、介面

賦值時,變數的形狀必須跟介面的形狀保持一致,不能多也不能少屬性,同時屬性的型別一致。

可選屬性可在定義的屬性名後面加"?",可選屬性可以不定義。

任意屬性可以用[propname: string]來定義,一旦定義任意屬性,確定屬性和可選屬性必須是其的型別子集。

唯讀屬性可以用readonly定義,例: 

inte***ce a

//函式表示式

let fn = function() {}

在ts中要對函式的輸出和輸入進行約束,如:

function sum(a: number, b:number): number 

列舉成員會被賦值為從0開始遞增的數字,後面遞增1,同時也會對列舉值到列舉名進行反向對映。

列舉項可以手動賦值,未手動賦值的列舉項會接著上乙個列舉項遞增。

十二、類

abstract用於定義抽象類和其中的抽象方法。抽象類是不允許被例項化的,抽象類中的抽象方法必須被子類實現

十三、泛型

指在定義函式、介面或類的時候,不預先指定具體的型別,而在使用的時候再指定型別的一種特性。

可以使用了extends約束了泛型t必須符合介面的形狀進行泛型線束,如:

inte***ce a

像以上只能傳入擁有a屬性的型別

十四、宣告合併

如果定義了兩個相同名字的函式、介面或類,那麼它們會合併成乙個型別。

合併的屬性型別必須是唯一的。

Linux知識點梳理

使用者名稱 主機名 root hostname 使用者名稱 主機名稱 符號含義 當前使用者屬於root使用者 當前使用者屬於普通使用者 注意 對系統進行配置管理時,如要root使用者 檢視主機名稱 hostname設定主機名稱 hostname hadoop senior.com注意 該方式設定,當...

spring 知識點梳理

1.spring預設所有管理的bean都是單例模式 懶載入,所有的bean都是交給spring容器中的map管理,生命週期與spring相同,如果使用多例模式,bean則是交給記憶體管理,生命週期與spring無關 2.ssm分層 控制層 服務層 資料層 對應的註解分別為 controller se...

Linux C知識點梳理

第1章 程式設計和c語言 最簡單的c語言程式 第2章 演算法 程式的靈魂 第3章 簡單的c程式設計 順序程式設計 常量,變數 先定義後使用 常變數,識別符號 資料型別 運算子與表示式,不同型別資料間混合運算 c語句 資料的輸入輸出,printf scanf 函式,字元資料輸入輸出 第4章 選擇結構程...