enum Direction { NORTH = 3, SOUTH, EAST, WEST, }2.字符串枚举在TypeScript 2.4 版本,允许我们使用字符串枚举。在一个字符串枚举里,每个成员都必须用字符串字面量,或另外一个字符串枚举成员进行初始化。enum Direction { NORTH = "NORTH", SOUTH = "SOUTH", EAST = "EAST", WEST = "WEST", }以上...
configure("automatic"); 还有一种文字类型:布尔文字。只有两种布尔文字类型,它们是类型 true 和false 。类型 boolean 本身实际上只是联合类型 union 的别名 true | false。 文字推理 当你使用对象初始化变量时,TypeScript 假定该对象的属性稍后可能会更改值。例如,如果你写了这样的代码: const obj = { counter: ...
interface Options { width: number;}function configure(x: Options | "auto") { // ...}configure({ width: 100 });configure("auto");configure("automatic");// Argument of type '"automatic"' is not assignable to parameter of type 'Options | "auto"'.还有一种字面量类型,布尔字面量。...
enum CarTransmission { Automatic = 200, Manual = 300 } interface Motorcycle { vType: "motorcycle"; // discriminant make: number; // year } interface Car { vType: "car"; // discriminant transmission: CarTransmission } interface Truck { ...
enum CarTransmission { Automatic = 200, Manual = 300 } interface Motorcycle { vType: "motorcycle"; // discriminant make: number; // year } interface Car { vType: "car"; // discriminant transmission: CarTransmission } interface Truck { ...
2.3 String 类型 2.4 Symbol 类型 2.5 Array 类型 2.6 Enum 类型 使用枚举我们可以定义一些带名字的常量。 使用枚举可以清晰地表达意图或创建一组有区别的用例。 TypeScript 支持数字的和基于字符串的枚举。 1.数字枚举 默认情况下,NORTH 的初始值为 0,其余的成员会从 1 开始自动增长。换句话说,Direction.SOUTH ...
functioncompare(a:string,b:string):-1|0|1{returna===b?0:a>b?1:-1;} 当然了,你也可以跟非字面量类型联合: interfaceOptions{width:number;}functionconfigure(x:Options|"auto"){// ...}configure({width:100});configure("auto");configure("automatic");// Argument of type '"automatic"' is...
// automatic constructor parameter assignment constructor(public fname: string, public lname: string) { } } function logProgrammer<T extends Programmer>(prog: T): void { console.log(`${ prog.fname} ${prog.lname}` ); } const programmer = new Programmer("Ross", "Bulat"); ...
enum CarTransmission { Automatic = 200, Manual = 300 } interface Motorcycle { vType: "motorcycle"; // discriminant make: number; // year } interface Car { vType: "car"; // discriminant transmission: CarTransmission } interface Truck { ...
function add(a: string, b: string): string; function add(a: string, b: number): string; function add(a: number, b: string): string; function add(a: Combinable, b: Combinable) { if (typeof a === "string" || typeof b === "string") { return a.toString() + b.toString();...