# TS 类型的使用技巧

# 1. 获取对象的类型

const person = {
    name: '张三',
    age: 18
};

/*
{
    name: string;
    age: number;
}
 */
type Person = typeof person;

# 2. 获取对象key的联合类型

const person = {
    name: '张三',
    age: 18
};

/*
{
    name: string;
    age: number;
}
 */
type Person = typeof person;


// "name" | "age"
type PersonKeys = keyof Person;

# 3. key value 相同的类型

type Category = 'M4' | 'AKM';

/*
    {
        M4: "M4";
        AKM: "AKM";
    }
*/
type ICategory = {
    [key in Category]: key;
}

const Guns: ICategory = {
    M4: 'M4',
    AKM: 'AKM',
};
本章目录