1、基本类型 string、number、boolean
let isDone: boolean = false; isDone = true; let u:undefined = undefined; let n:null = null;
2、数组/元组
let student:Array<string> = ['tom','lily']; let student2:string[] = ['tom','lily']; let tuple1:[string,number] = ['time',22];
3、any
let obj:any = 'www';//123 obj.name = 123;
4、interface 接口(对象模板)
interface IStudent { name:string; readonly age:number; jump?:()=>void; } const tom:IStudent = { name:'tom', age:22, // jump() { // }, }
5、函数
function add(x:number,y:number):number{ return x+y }
6、泛型
function echo<T>(x:T[]){ return x; } const result = echo(['lily'])
7、Enum 枚举
enum color{ red, green, blue } let r = color[0] console.log('r:',r)
8、联合类型
type StringOrNumber = string | number; let studentId:StringOrNumber = '0'; //0
9、type aliase (类型别名)
let sum:(x:number,y:number) => number; // const results = sum(1,2) type PlusType = (x:number,y:number) => number; let doSum:PlusType = (x,y)=>{ return x+y } let nickname:'tom' = 'tom' type Directions = 'Up' | 'Down' | 'Left' | 'Right'; let toWhere:Directions = 'Up' interface Iperson{ name:string; } type PersonType = Iperson & { age:number} let stu1:PersonType = { name:'dd', age:32 } // axios.post('url',{name:'vicky'}) import calculator from './calculator' // calculator('plus',[2,3]) calculator.plus([1,2]);
10、utility type
let vicky:PersonType = { name:'vicky', age:18 } type Ipartial = Partial<PersonType> let tom2:Ipartial = {name:'tom'} type IOmit = Omit<PersonType,'name'> let lily:IOmit = {age:22}