TS 基本类型
TS 基本类型
-
类型声明
-
类型声明是 TS 非常重要的一个特点。
-
通过类型声明可以指定 TS 中变量(参数、形参)的类型。
-
指定类型后,当为变量赋值时,TS 编译器会自动检查值是否符合类型声明,符合则赋值,否则报错。
-
简而言之,类型声明给了变量设置了类型,使得变量只能存储某种类型的值。
-
语法:
// let 变量: 类型; let score; // let 变量: 类型 = 值; let score: number = 60; // function fn(参数: 类型,参数: 类型): 类型{ // ... // } function sum(a: number, b: number): number { return a + b; }
-
注意:当对变量的声明和赋值是同时进行的,TS 编译器会自动判断变量的类型。所以当变量的声明和赋值是同时进行的,可以省略类型声明。
-
-
类型:
类型 例子 描述 number 1,-33,2.5 任意数字 string “hi”,“hi”,hi 任意字符串 boolean true,false 布尔值 true 或 false 字面量 其本身 限制变量的值就是该字面量的值 any * 任意类型 unknow * 类型安全的 any void 空值(undefined) 没有值(或 undefined) never 没有值 不能是任何值 object {name: ‘孙悟空’} 任意的 JS 对象 array [1,2,3] 任意 JS 数组 tuple [4,5] 元素,TS 新增类型,固定长度数组 enum enum{A,B} 枚举,TS 新增类型` -
**联合类型:**可以使用 | 来连接多个类型。
let b: "male" | "female" b = male; b = female; let c: boolean | string b = true; b = "hello"; // 类型断言 let e: unknow; e = 10; e = "hello"; let s: string; e = 'hello'; if(typeof e === "string"){ // 类型判断以后可以赋值 s = e; } s = e as string; s = <string>e;
-
object
let a: object; a = {}; a = function () { }; // {} 用来指定对象中可以包含哪些属性 // 语法: {属性名:属性值,属性名:属性值} // 在属性名后边加上 ? ,表示属性是可选的。 let b: {name:string,age?:number} b = {name: "孙悟空",age: 18} // [propName: string]: any 表示任意属性都是可选的 let c: {name:string,[propName:string]:any} c = {name:"猪八戒",age: 19}
-
array
let a: string[]; let b: number[]; let c: Array<number>;
-
类型别名
type myType = 1 | 2 | 3 | 4 | 5; let a: myType; let b: myType; let c: myType;