Встречается на собеседованиях • сегодня
Возможно ли полностью реализовать принцип SOLID Барбары Лисков
Да, но с оговорками. В JavaScript (особенно в React) полное соблюдение LSP (Liskov Substitution Principle) сложно из-за динамической типизации. Однако можно следовать духу принципа:
1. Дочерние классы/компоненты должны расширять, а не нарушать поведение родительских.
2. Пример нарушения:
```jsx
class Button {
render() {
return ;
}
handleClick = () => console.log('Clicked');
}
class BrokenButton extends Button {
handleClick = () => {
throw new Error('Unexpected behavior!');
}
}
```
3. Правильный подход:
```jsx
class Button {
render() {
return ;
}
handleClick = () => console.log('Clicked');
}
class ConfirmationButton extends Button {
handleClick = () => {
if (confirm('Are you sure?')) {
super.handleClick();
}
}
}
```
Ключевое: подтипы должны быть взаимозаменяемы с базовыми типами без изменения корректности программы. В React это особенно важно для HOC и компонентов-обёрток.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы