Typescript面試題

一杯龙井解千愁發表於2024-11-14

簡述typescript

簡稱ts,是js的一個超集,也是帶有型別檢測的js,擴充了js語法。

優點:程式更容易理解;減少錯誤(編譯期間排除常見錯誤);包容性強(相容js)。

特點:跨平臺;物件導向(類、介面、列舉);型別檢測。

ts的資料型別

js的型別外,還包含enum(列舉)、any(任意值)、void(表示無,常用於表示無返回值的函式)

ts中的類、介面、列舉、模組

類(class):是自定義的引用資料型別,簡稱類。

介面(interface):描述一個物件的屬性和方法,是個集合。

列舉(enum):物件所有可能取值的集合。

模組:ts中的模組與js相似,import匯入、export匯出

泛型

是一種特性,允許定義函式、類、介面等資料結構時,可使用型別引數的佔位符,從而增加程式碼靈活性和複用性。

優點:增加靈活性、型別安全、可讀性和可維護性。

應用場景:建立可複用的元件或函式、處理不確定的資料型別、操作不同型別的集合、函式引數型別檢測等等。

interface、type

相似之處:

兩者都可用來描述object和function;

兩者都可以被繼承。

不同之處:

type可定義基本型別,而interface不行;

type可宣告聯合型別(列子:string|number);

interface有宣告合併(多次宣告同一個介面,ts會將其合併到一個宣告中),而type不會。

keyof、typeof

keyof用於獲取物件型別的鍵的並集;

typeof用於獲取值的型別。

相關文章