TypeScript 字面量类型(literal type)

TypeScript 是一種 JavaScript 的超集,它提供了類型系統,可以讓開發者在編寫程式碼時更加安全可靠。其中一個重要的概念就是「字面量类型(literal type)」,它可以讓開發者更加精確地指定變數的型別,以及更加安全地使用變數。

字面量类型是指一個變數只能接受特定的值,例如:

let myNumber: 1 | 2 | 3;
myNumber = 1; // OK
myNumber = 4; // Error

上面的程式碼中,我們定義了一個變數 myNumber,它的型別是 1 | 2 | 3,也就是說它只能接受 123 這三個值。

字面量类型可以用於任何型別,例如字串:

let myString: "foo" | "bar";
myString = "foo"; // OK
myString = "baz"; // Error

字面量类型可以用於任何型別,包括複合型別:

type MyType = {
  foo: "foo" | "bar";
  bar: number;
};

let myObject: MyType = {
  foo: "foo",
  bar: 1
};

myObject = {
  foo: "baz",
  bar: 2
}; // Error

上面的程式碼中,我們定義了一個複合型別 MyType,它有兩個屬性:foobar,其中 foo 的型別是 "foo" | "bar",也就是只能接受 "foo""bar" 這兩個值。

字面量类型可以讓開發者更加精確地指定變數的型別,以及更加安全地使用變數,因此在開發 TypeScript 應用程式時,應該多加利用字面量类型,以提高程式碼的品質。

Categorized in:

Tagged in: