ts学习笔记[枚举类型]
//关于枚举类型 enum Color {Red = 1, Green = 'oo', Blue = 4,yellow} let b: string = Color[4]; let c: Color = Color.Green; let r: Color = Color.Red; let y: Color = Color.yellow; console.log(b) //blue 通过枚举的值来获得所映射的名字(若设置blue=1,yellow=2而不是’oo‘ console.log(c=='oo') //true color类型中的设置为字符串的值可直接视作string使用 console.log(r+2) //3 color类型中的设置为数字的值可直接视作number使用
console.log(y) //5 手动设置值后后续也只会根据前一项数字的值来分配未设置值的属性所代表的值,即元组类型不受支持
any,这个类型允许接受各种形式的类型,也可调用各种类型的方法(object则不行)
unknown,与any相反,不接受各种类型方法的调用。同样可以接受各种形式的类型。和any为ts中的两个顶部类型。
viod,无返回值,只可赋值null与undefind(默认情况下null
和undefined
是所有类型的子类型。 就是说你可以把 null
和undefined
赋值给number
类型的变量。然而,当你指定了--strictNullChecks(严格空校检)
标记,null
和undefined
只能赋值给void
和它们各自。)
never 类型,表示永不存在的值的类型,用于抛出异常和不会有返回值的函数或箭头函数的返回值类型。(是任何类型的子类型,可以赋值各种类型,不接受除它本身之外的所有类型赋值)
数组方面声明多了一个数组泛型
let list: Array<number> = [1, 2, 3];//双尖括号
Tuple(元组)类型(表示一个已知元素数量和类型的数组)
// Declare a tuple type let x: [string, number]; // Initialize it x = ['hello', 10]; // OK // Initialize it incorrectly x = [10, 'hello']; // Error
关于枚举类型及ts新出的类型就到这里