Typescript 基本使用汇总

发布于:2023-05-09 ⋅ 阅读:(255) ⋅ 点赞:(0)
// 定义基本数据类型
let str: string = 'title';
let num: number = 20;
let bool: boolean = true;
let obj: null = null;
let undef: undefined = undefined;

// 定义联合类型
let l: number | string;
l = 100;
l = 'title';

// 定义任意类型
let any_temp: any;
any_temp = [];
any_temp = '任意类型';

// 数组类型
let arr1: number[] = [1, 2, 3, 4];
let arr2: string[] = ['a', 'b', 'c', 'd'];
let arr3: any[] = [1, 'a', null];

// 数组泛型
let arr4: Array<number> = [1, 2, 3, 4];
let arr5: Array<string> = ['a', 'b', 'c', 'd'];
let arr6: Array<number | string> = [1, 'a', 'xxx'];

// 定义对象类型
// 定义对象类型之前需要定义好对应的接口
interface Person {
    name: string,
    date: string,
    sex: string,
    age?: number, // 可选属性
    [propName: string]: any //任意属性
}
let person: Person = {
    name: 'lk',
    date: '2012-12-12',
    sex: '男',
    age: 12,
    action: (): void => {
        console.log('你好!');
    }
}
person.height = '168cm';
person.weight = '52kg';

// 定义函数:输入类型,输出类型
function s1(x: number, y: number): number {
    return x + y;
}
s1(1, 2);
function s2(x: number, y?: number): number {
    // y为可选参数
    if (y) {
        return x + y;
    } else {
        retun x; 
    }
}
s2(1);
s2(2,3);

// 泛型的使用
// 泛型的概率:在定义函数、类、接口时不指定类型,在使用的时候才指定类型的一种特性;
function s3<T>(x: T, y: T): T{
    return x + y;
}
s3<number>(1, 3);