Встречается на собеседованиях • сегодня

Как будешь безопасно работать с нетипизированным 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 может выбросить ошибку.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы