Встречается на собеседованиях • сегодня
Как будешь безопасно работать с нетипизированным JSON-объектом
Использую Type Guards и валидацию. Для сложных структур лучше взять библиотеку типа Zod или Joi. Пример:
typescript
// Type guard для проверки структуры
function isUser(data: unknown): data is { name: string; age?: number } {
return typeof data === 'object'
&& data !== null
&& 'name' in data
&& typeof data.name === 'string'
&& (!('age' in data) || typeof data.age === 'number');
}
// Использование
const unsafeData: unknown = JSON.parse(rawJson);
if (isUser(unsafeData)) {
// Теперь TypeScript знает структуру
console.log(unsafeData.name);
} else {
throw new Error('Invalid data format');
}
text
Для простых случаев хватит проверок через `typeof` и `in`. Всегда обрабатываю случай, когда JSON.parse может выбросить ошибку.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы