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

Как вывести тип из нетипизированного JSON-объекта

В TypeScript можно вывести тип из JSON-объекта с помощью typeof и as const для точного вывода литеральных типов:

typescript
const jsonData = {
  name: "John",
  age: 30,
  isAdmin: false
} as const;

type UserType = typeof jsonData;
// Получим тип: 
// {
//   readonly name: "John";
//   readonly age: 30;
//   readonly isAdmin: false;
// }

Для динамического JSON из строки сначала парсим, затем выводим тип:

typescript
const jsonString = '{"id": 1, "active": true}';
const parsedData = JSON.parse(jsonString) as { id: number; active: boolean };

Если структура объекта неизвестна, можно использовать unknown с последующей проверкой типа или индексные сигнатуры:

typescript
type LooseObject = { [key: string]: unknown };
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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