加强医院网站建设,图派科技做网站怎么样,摄影网站模版,腾讯云中使用wordpress1. 接口有什么用 通过 interface 定义接口。 检测对象的属性#xff0c;不会去检查属性的顺序#xff0c;只要相应的属性存在并且类型也是对的就可以。 interface IPerson {name: string;age: number;
}
function say(person: IPerson): void {console.log(my name is ${pers…1. 接口有什么用 通过 interface 定义接口。 检测对象的属性不会去检查属性的顺序只要相应的属性存在并且类型也是对的就可以。 interface IPerson {name: string;age: number;
}
function say(person: IPerson): void {console.log(my name is ${person.name}, and age is ${person.age});
}
let me {name: funlee,age: 18,
};
say(me); // my name is funlee, and age is 18
2. 可选属性 属性后面加一个 ? 符号表示该属性可选。 interface IPerson {name: string;age: number;// love 可选love?: string;
}
3. 只读属性 属性名前加 readonly表示该属性只读。 interface IPerson {// name 只读readonly name: string;age: number;love?: string;
}
let me: IPerson {name: funlee,age: 18,
};
// name 不允许被赋值
me.name new name; // error!
4. 函数接口 接口可以描述函数类型它定义了函数的参数列表和返回值类型参数列表里的每个参数都需要名字和类型函数的参数名不需要与接口里定义的名字相匹配只需要类型兼容就可以了。 interface GetArea {(width: number, height: number): number;
}
let getArea: GetArea function (w: number, h: number) {return w * h;
};
getArea(5, 6); // 30 5. 继承接口 一个接口可以继承多个接口创建出多个接口的合成接口如 interface Shape {color: string;
}
interface PenStroke {penWidth: number;
}
interface Square extends Shape, PenStroke {sideLength;
}
const square Square{};
square.color blue;
square.sideLength 10;
square.penWidth 5.0; 6. 混合类型 让对象同时作为函数和对象使用并带有额外的属性如 interface MixedDemo {(str: string): void;defaultStr: string;
}function foo(): MixedDemo {let x MixedDemofunction (str: string) {console.log(str);};x.defaultStr Hello, world;return x;
}let c foo();
c(This is a function); // This is a function
c.defaultStr; // Hello, world