TypeScript变量类型
TypeScript变量类型
- 
数字 let a_number: number = 10
- 
字符串 let a_string: string = 'hello'
- 
布尔型 let a_boolean: boolean = true
- 
联合类型 /* 联合类型 */ let b: "male" | "female"; b = "male" b = "female" let c: boolean | string; c = true c = 'hello' /* 使用&连接类型 */ let n: { name: string } & { age: number } n = { name: '张三', age: 18 }
- 
any类型 /* any任何类型,如果声明变量不指定类型,则为隐式any */ let d: any d = 10 d = 'hello'
- 
未知类型 /* 表示未知类型的值 */ let e: unknown e = 10 e = 'hello' /* 和any的区别: any类型的变量赋值给任意类型的变量并不会报错, unknown类型的变量不能赋值给别的类型,会报错不能将类型“unknown”分配给类型“string” */ // a_string = e /* unkonwn类型实际上是一个类型安全的any 通过如下方法进行赋值 */ if (typeof e === "string") { a_string = e } /* 类型断言 */ a_string = e as string a_string = <string>e
- 
void空类型 /* 函数返回值为void(没有值) */ function fn1(): void { }
- 
never类型 /* 函数返回值为never,永远不会返回结果(void也是一种返回值)*/ function fn2(): never { throw new Error('报错了') }
- 
对象类型 /* 定义a为一个对象 */ let f: object f = {} /* 常用 */ /* 一般同时定义对象中该有哪些属性,属性名后面添加问好表示属性是可选的*/ let g: { name: string, age?: number } g = { name: '张三' } /* 设置可以额外添加属性 */ let h: { name: string, [propName: string]: any } h = { name: '李四', age: 18, gender: '男' } /* 函数类型对象声明 */ let i: (a: number, b: number) => number i = function (n1: number, n2: number): number { return n1 + n2 }
- 
数组类型 /* 定义JS数组 */ let j: string[] let k: Array<number> j = ['a', 'b', 'c']
- 
tuple类型 /* 定义元组tuple,就是固定长度的数组 */ let l: [string, string] l = ['hello', 'world']
- 
enum枚举类型 /* 定义enum枚举 */ enum Gender { Male = 1, Female = 2 } let m: { name: string, gender: Gender } m = { name: '张三', gender: Gender.Male }
- 
类型别名 /* 类型别名 */ type myType = 1 | 2 | 3 | 4 | 5 let o: myType
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号