TypeScript 字面量类型(literal type)
TypeScript 是一種 JavaScript 的超集,它提供了類型系統,可以讓開發者在編寫程式碼時更加安全可靠。其中一個重要的概念就是「字面量类型(literal type)」,它可以讓開發者更加精確地指定變數的型別,以及更加安全地使用變數。
字面量类型是指一個變數只能接受特定的值,例如:
let myNumber: 1 | 2 | 3; myNumber = 1; // OK myNumber = 4; // Error
上面的程式碼中,我們定義了一個變數 myNumber
,它的型別是 1 | 2 | 3
,也就是說它只能接受 1
、2
或 3
這三個值。
字面量类型可以用於任何型別,例如字串:
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
,它有兩個屬性:foo
和 bar
,其中 foo
的型別是 "foo" | "bar"
,也就是只能接受 "foo"
或 "bar"
這兩個值。
字面量类型可以讓開發者更加精確地指定變數的型別,以及更加安全地使用變數,因此在開發 TypeScript 應用程式時,應該多加利用字面量类型,以提高程式碼的品質。