面试题答案
一键面试在TypeScript中,一个类型为Dog
的变量可以赋值给类型为Animal
的变量,这是因为Dog
继承自Animal
,它拥有Animal
的所有属性,满足Animal
类型的要求,符合里氏替换原则。也就是说,在任何需要Animal
类型的地方,都可以使用Dog
类型,因为Dog
是Animal
的一种更具体的类型。
以下是代码示例:
// 定义Animal接口
interface Animal {
name: string;
}
// 定义Dog接口,继承自Animal
interface Dog extends Animal {
bark: () => void;
}
// 创建一个Dog类型的变量
let myDog: Dog = {
name: 'Buddy',
bark: () => {
console.log('Woof!');
}
};
// 将Dog类型的变量赋值给Animal类型的变量
let myAnimal: Animal = myDog;
console.log(myAnimal.name);