當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


TypeScript interface和type的區別用法及代碼示例


兩種方法類型接口用於說明 TypeScript 中對象的結構。但擁有一些根據具體情況會有幫助的特定函數,在它們之間進行選擇完全取決於開發人員。

輸入 TypeScript:TypeScript 中的類型係統說明了該語言支持的不同數據類型。它分為三個主要部分:任何類型,內置型, 和用戶定義類型。 TypeScript 中的類型係統負責檢查任何值的數據類型,然後才能將其作為程序的輸入提供。

例子:

javascript


type Geeks = {
  name: string;
  age: number;
};
type MoreGeeks = {
  email: string;
};
type CombinedGeeks = Geeks & MoreGeeks;
const gfg: CombinedGeeks = {
  name: "kgowda",
  age: 20,
  email: "kgowda@gmail.com"
};
console.log(gfg);

輸出:

{"name": "kgowda","age": 20,"email": "kgowda@gmail.com"}

TypeScript 中的接口:TypeScript 中的接口是所有實體都必須遵循的語法義務。它隻能包含成員的聲明並負責定義特性,方法, 和事件。在某種程度上,它負責定義派生類必須遵循的標準結構。

例子:

javascript


// Creating a interface
interface Geeks {
  name: string;
  age: number
}
interface Geeks {
  email: string;
}
// Using the merged interface
const gfg: Geeks = {
  name: " kgowda",
  age: 20,
  email: " kgowda@gmail.com"
};
console.log(gfg);

輸出

name: " kgowda", age: 20, email: " kgowda@gmail.com"

TypeScript 中類型和接口的區別:

類型 接口
它是數據類型的集合。 它是一種語法形式。
類型更加靈活。 與打字稿類型相比,接口不太靈活。
它使用“type”關鍵字來創建新類型。 它使用“interface”關鍵字來聲明接口。
它支持為類型創建新名稱。 它提供了一種定義實體的方法。
它的函數相對較少。 它具有相對更多的函數。
它不支持使用對象。 它支持對象的使用。
不能使用多個合並聲明。 可以使用多個合並聲明。
具有相同名稱的兩個類型會引發異常。 具有相同名稱的兩個接口被合並。
它沒有實施目的。 它有一個實施目的。
它不支持在類中實現或擴展聯合類型的函數。 它支持typescript中的實現和擴展函數。
可以通過將多種類型合並為一種類型來創建交叉類型。 無法創建任何新的交叉接口。
它還用於基元、聯合和元組等類型。 它不能與其他類型的聲明一起使用。

結論-盡管 Typescript 類型和接口在某些函數上有所不同,但兩者幾乎相似,因此人們無法停止使用其中一種。開發人員可以選擇他/她想要使用的打字稿。



相關用法


注:本文由純淨天空篩選整理自kgowda大神的英文原創作品 What is the difference between interface and type in TypeScript ?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。