TypeScript学习笔记 - P2
TypeScript学习笔记——类型1. 类型限制1. ts可以在变量声明时规定类型2. 如果变量的声明和赋值同时进行ts会自动规定类型3. 对函数进行类型限制2. TS的类型1. 字面量类型2. any类型3. unknown类型4. void类型5. never类型6. object类型7. array类型8. tuple类型9. enum类型3. 其他有关于类型使用1. 类型的别名1. 类型限制1. ts可以在变量声明时规定类型let a: number //规定了变量a的值只能是numberlet b: string //规定了变量b的值只能是string b false //报错类型不匹配2. 如果变量的声明和赋值同时进行ts会自动规定类型let c “hello” //自动规定变量c为string类型此处可以省略类型声明3. 对函数进行类型限制function sum(a: number, b: number): number{ return a b }上述代码ts规定了sum函数的参数返回值类型都为number当类型不匹配时会报错此外ts还会限制传入的实参个数不同于形参个数时同样报错需要注意的是初始ts虽然会报错但仍可以编译并产生对应的js文件2. TS的类型1. 字面量类型let a: 10; //规定变量a的值只能为10 a 10; a 11; // 报错不能将类型“11”分配给类型“10”let sex: male | female; sex male; sex female; // 可以使用|且来连接多个类型联合类型 // 也可以使用或详细看object类型let b: string | boolean; b hello; b false;2. any类型any表示的是任意类型设置类型为any后相当于ts对该变量关闭了类型检测使用极少let d: any; //显式指明类型为any let e; //声明时不赋值不指明类型会自动看做any类型隐式指明 d 10; let f: string d; //d的类型是any可以赋值给任意类型的值区别于unknown类型3. unknown类型unknown表示的是未知类型let g: unknown hello; g false let f: string g; //此处会报错类型不匹配区别于any类型实际上是一个类型安全的anyunknown类型的变量不能直接赋值给其他变量解决方式赋值前进行类型判断类型断言用来告诉解析器变量的实际类型let e: unknown hello s e; //直接赋值会报错 s e as string; s stringe; 语法变量 as 类型 或 类型变量4. void类型void用来表示空值undefined多用于规定函数没有返回值function fn(): void {} //表示函数没有返回值5. never类型never表示永远不会返回结果6. object类型object表示对象很少使用//基本使用对象 let a: object; a {}; a function(){} //规定对象的属性组成及类型 let b: {name: string, age?: number};//属性名后跟表示可选属性 b {};//报错缺少类型 b {name: wmh}; b {name: wmh, age: 18} //规定除了name属性必需还可以添加其他属性属性名为string值为any let e : {name: string, [propName: string]: any}; //使用来判断满足两个对象 let f : {name: string} {age: number};//表示需要同时满足两个内容 f { name: wmh, age: 18 }//基本使用函数 let a:(b: number, c:number) number;//规定参数及返回值的类型 a function(b, c){return b c}7. array类型array表示一个数组//写法一 let a: string[];//表明一个字符串数组 a [12,12,12];//报错类型不匹配 //写法二 let b: Arraynumber;//表示一个数字数组8. tuple类型tuple表示一个元组元祖就是固定长度的数组//基本使用 let a: [string, string]; a [wmh, abc];9. enum类型enum表示一个枚举//使用方法 enum Sex { Female, Male } let person: {name: string, sex: Sex};//规定sex为Sex枚举类 person { name: wmh, sex: Sex.Male } if(person.sex Sex.Male)3. 其他有关于类型使用1. 类型的别名type myType string; let a: myType;//相当于let a: string
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2423962.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!