兩種方法類型和接口用於說明 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 類型和接口在某些函數上有所不同,但兩者幾乎相似,因此人們無法停止使用其中一種。開發人員可以選擇他/她想要使用的打字稿。
相關用法
- TypeScript interfaces和classes的區別用法及代碼示例
- TypeScript Number toExponential()用法及代碼示例
- TypeScript Number toFixed()用法及代碼示例
- TypeScript Number toPrecision()用法及代碼示例
- TypeScript Number toString()用法及代碼示例
- TypeScript String charAt()用法及代碼示例
- TypeScript String charCodeAt()用法及代碼示例
- TypeScript String concat()用法及代碼示例
- TypeScript String indexOf()用法及代碼示例
- TypeScript String lastIndexOf()用法及代碼示例
- TypeScript String localeCompare()用法及代碼示例
- TypeScript String replace()用法及代碼示例
- TypeScript String search()用法及代碼示例
- TypeScript String slice()用法及代碼示例
- TypeScript String split()用法及代碼示例
- TypeScript String substr()用法及代碼示例
- TypeScript String substring()用法及代碼示例
- TypeScript Array every()用法及代碼示例
- TypeScript Array filter()用法及代碼示例
- TypeScript Array forEach()用法及代碼示例
- TypeScript Array indexOf()用法及代碼示例
- TypeScript Array join()用法及代碼示例
- TypeScript Array lastIndexOf()用法及代碼示例
- TypeScript Array map()用法及代碼示例
- TypeScript Array push()用法及代碼示例
注:本文由純淨天空篩選整理自kgowda大神的英文原創作品 What is the difference between interface and type in TypeScript ?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。