interface a {
z: 1
x: 2
}
type b = a
enum c {
a,
b,
c,
}
declare namespace API {
type get = {}
interface post {}
}
Omit<a, z>
Pick<a, x>
Partial<a> // 可选
Required<a> // 必选
Readonly<a> // 只读
Mutable<a> // 移除只读
Exclude<'key1' | 'key2', 'key2'> // 'key1'
Extract<'key1' | 'key2', 'key1'> // 'key1'
typeof a
type d = keyof a
Record
type petsGroup = 'dog' | 'cat' | 'fish';
interface IPetInfo {
name:string,
age:number,
}
type IPets = Record<petsGroup, IPetInfo>;
const animalsInfo:IPets = {
dog:{
name:'dogName',
age:2
},
cat:{
name:'catName',
age:3
},
fish:{
name:'fishName',
age:5
}
}