Встречается на собеседованиях • сегодня
На что можно заменить интерфейсы в JavaScript
В JavaScript нет интерфейсов как в TypeScript, но их можно эмулировать:
- Дук-тайпинг (проверка наличия методов/свойств):
js
function processUser(user) {
if (!user.name || !user.getId) {
throw new Error('Invalid user interface');
}
// ...
}- JSDoc (документация + проверки в IDE):
js
/**
* @interface
* @property {string} name
* @property {function(): number} getId
*/- Классы (наследование + проверка instanceof):
js
class UserInterface {
getName() { throw new Error('Not implemented') }
}
class User extends UserInterface {}- PropTypes (для React-компонентов):
js
MyComponent.propTypes = {
name: PropTypes.string.isRequired,
getId: PropTypes.func.isRequired
};- Схемы валидации (Joi, Yup):
js
const userSchema = Joi.object({
name: Joi.string().required(),
getId: Joi.func().required()
});
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы