typescript 快速入门

发布时间 2024-01-04 17:32:44作者: 272623186
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}