枚举类型的值其实也可以是字符串类型�? enumDirection { Up = 'Up', Down = 'Down', Left = 'Left', Right = 'Right' }
console.log(Direction['Right'], Direction.Up); // Right Up
如果设定了一个变量为字符串之后,后续的字段也需要赋值字符串,否则报错:
1 2 3 4 5 6
enumDirection { Up = 'UP', Down, // error TS1061: Enum member must have initializer Left, // error TS1061: Enum member must have initializer Right// error TS1061: Enum member must have initializer }
异构枚举
即将数字枚举和字符串枚举结合起来混合起来使用,如下:
1 2 3 4
enumBooleanLikeHeterogeneousEnum { No = 0, Yes = "YES", }
关于typescript函数重载,必须要把精确的定义放在前面,最后函数实现时,需要使�?|操作符或者?操作符,把所有可能的输入类型全部包含进去,用于具体实�? 这里的函数重载也只是多个函数的声明,具体的逻辑还需要自己去写,typescript并不会真的将你的多个重名 function 的函数体进行合并
泛型允许我们在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类�?在typescript中,定义函数,接口或者类的时候,不预先定义好具体的类型,而在使用的时候在指定类型的一种特�? 假设我们用一个函数,它可接受一�?number 参数并返回一个 number 参数,如下写法:
1 2 3
functionreturnItem (para: number): number { return para }
如果我们打算接受一�?string 类型,然后再返回 string类型,则如下写法�?
1 2 3
functionreturnItem (para: string): string { return para }