Ответ
Полиморфизм — это возможность объектов с разной реализацией реагировать на один и тот же интерфейс. В JS это достигается через переопределение методов или использование интерфейсов (в TypeScript).
Пример с переопределением метода:
class Animal {
makeSound() {
console.log('Some sound');
}
}
class Dog extends Animal {
makeSound() {
console.log('Woof!');
}
}
class Cat extends Animal {
makeSound() {
console.log('Meow!');
}
}
const animals = [new Animal(), new Dog(), new Cat()];
animals.forEach(animal => animal.makeSound());
// Выведет: Some sound, Woof!, Meow!