TypeScript中的 Interface 接口
interface 和 type
interface 和 type 相类似,但并不完全一致,优先使用接口
interface Person {
// readonly name: string; // 表示name属性是只读的
name: string;
age?: number; // age可有可无
[propName: string]: any; // 这样子的话,就可以多传一些属性了,属性名是字符串类型,值是任意类型
// say: () => string;
say(): string; // 相当于是上面的简写
}
接口的继承
interface Teacher extends Person {
teach(): string;
}
测试及结果
- 测试代码:
const getPersonName = (person: Person): void => {
console.log(person.name);
};
const setPersonName = (person: Teacher, name: string): void => {
person.name = name;
};
const person = {
name: "dell",
sex: "male",
say() {
return "say hello";
},
teach() {
return "teach";
},
};
getPersonName(person);
setPersonName(person, "lee");
- 结果:
类实现接口
- 则类必须实现接口的所有属性 和 方法
class User implements Person {
name = "dell";
say() {
return "hello";
}
read() {
return "read book";
}
}
接口类型的显式声明(了解)
interface SayHi {
(word: string): string;
}
// 此时SayHi就是一个函数类型的接口(声明),用的不多,了解就行
const say: SayHi = (word: string) => {
return word;
};
当然啦,大家如果有补充的或者其它问题,欢迎大家在评论区交流啊,路漫漫其修远兮,吾将上下而求索,希望大家可以一起坚持下去啊!😎😎😎~~~
如果这篇文章能够帮助到您,希望您不要吝惜点赞👍👍和收藏💖💖,您的支持是我继续创作的动力 💪💪!!!