@Rocknrolla99
Some text

Как в typeScript объявить тип объекта и после его дополнить?

Подскажите есть конструкция типа:

type reqiestType = {
  name:string;
  age:number;
}

const data:reqiestType  = {}; // здесь ts ругается  Type '{}' is missing the following properties from type 'reqiestType': name, age(2739)

data.name = "John";
data.age = 33;


Есть ли какой-то способ обойти эту штуку без установки ключам необязательного параметра.

Кейс собственно такой - создается объект для реквеста, а затем он заполняется/
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 1
@7rows
Frontend Разработчик / Vue / JS / TS / CSS
У вас тип имеет обязательные поля, поэтому при объявлении переменной у вас ругается на то, что объект не имеет обязательных полей
Можно пойти 2-мя путями
1- Сделать поля не обязательными,
interface reqiestType = {
  name?:string;
  age?:number;
}


2- Сделать не обязательные поля при объявлении переменной
interface reqiestType {
  name:string;
  age:number;
}
const data:Partial<reqiestType>  = {};


Пример

Ну и лучше использовать интерфейс в данном случае
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы