TypeScript基础——数据类型篇

TypeScript基础——数据类型篇

为什么学习ts那?因为ts相对于js来说严格规范得多,功能越强大的产品它所需要的编程语言肯定也是越严谨的
ts中必须指定数据类型、ts是js的超集,那么js有的原始类型ts也同样具备
    boolean类型 let bool:boolean = true; number类型 let num:number = 123; string类型 let str:string = "name"; array类型 /** * TypeScript为数组提供了专用的类型语法 * 你可以根据需求补充有效的类型声明 */ let ary:number[] = [1,2,3]; let ary1:string[] = [1,2,3]; let ary2:boolean[] = [true,false]; undefined // TypeScript类型系统中,JavaScript 中的 null 和 undefined 字面量和其他被标注了 any 类型的变量一样,都能被赋值给任意类型的变量 let num:number; num = undefined; null let str:string; str = null; tuple类型(元组) //为元组添加类型注解,元组可以包含任意数量的成员 let user: [string, number]; nameNumber = [Tom, 18]; enum类型(枚举) // 自然语言和计算机状态的关联 enum Color { red, blue, orange} let textStyle = Color.red ; console.log(textStyle) any类型(任意) // 被赋值给其他任何类型 let power: any; // 赋值任意类型 power = 123; power = 123; void类型(特别类型) // 使用 :void 来表示一个函数没有一个返回值, 也就是说void表示没有任何类型 function log(message: string): void { console.log(message); } never类型(特别类型) // never 类型是 TypeScript 中的底层类型(详细了解可以查看官方文档) // never 表示永远不存在的值的类型 function foo(x: string | number): boolean { if (typeof x === string) { return true; } else if (typeof x === number) { return false; } // 如果不是一个 never 类型,这会报错: // - 不是所有条件都有返回值 (严格模式下) // - 或者检查到无法访问的代码 // 但是由于 TypeScript 理解 `fail` 函数返回为 `never` 类型 // 它可以让你调用它,因为你可能会在运行时用它来做安全或者详细的检查。 return fail(Unexhaustive); } function fail(message: string): never { throw new Error(message); }
经验分享 程序员 微信小程序 职场和发展