示例代码
interface mybasic {
one: string,
two: string,
three: number,
four: string
}
console.log("myts-demo")
// 排除参数属性
interface my1 extends Omit<mybasic, 'one'> { }
type mytype = keyof my1;
type mytype2 = my1;
// type 继承interface
type mytype3 = mytype & { six: string }
// 提取必要参数属性
interface my2 extends Pick<mybasic, 'one'> { }
let my2Demo: my2 = {
one: "slkdfslkfjskfdj"
}
console.log(my2Demo, "my2Demo") //{one: 'slkdfslkfjskfdj'} 'my2Demo
// Partial就是所有属性类型非必须
interface my3 extends Partial<mybasic> { }
let my3Demo: my3 = {
two: "slfkjsldfjsljf"
}
console.log(my3Demo, "my3Demo") //{two: 'slfkjsldfjsljf'} 'my3Demo
// Required 就是所有的参数都需要
interface my4 extends Required<mybasic>{}
type my5=my4 & {
data?:Array<string> //数组声明方式
}
let my5Demo:my5={
one:"slfdjslkjd",
two:"sdjfsdls",
three:234234,
four:"sdlfjsldsfkjfd"
}
//已某些key为key,第二个参数是类型
type my6=Record<'one'|'two',string>
let my6Demo:my6={
one:"sdlfsjldfksj",
two:"slfjslfjsklf"
}
console.log(my6Demo,"my6Demo")
// {
// "one": "sdlfsjldfksj",
// "two": "slfjslfjsklf"
// }
标签:typescript,Partial,log,type,Required,two,interface,console,常用工具
From: https://www.cnblogs.com/jocongmin/p/18244373