Работа с типом чернового объекта - PullRequest
0 голосов
/ 28 апреля 2020

Я новичок в вводе скрипта и мне нужна помощь. У меня есть объект компании:

type Company = {
   id: number;
   user_id: number;
   name: string;
   ...
}

И у меня есть логин c, где я использую черновую (с обнуляемым id и user_id) версию этой компании, что-то вроде этого:

type DraftCompany = {
   id: number | null;
   user_id: number | null;
   name: string;
   ...
}

Каков основной способ определения такого типа, чтобы

  1. Я мог указать только поля, которые можно обнулять в определении типа.
  2. Компания считается подтипом DraftCompany, поэтому который проверяет как

, этот

if (companyOrDraftCompany.id !== null) {
   console.log(companyOrDraftCompany) 
}

сужает тип companyOrDraftCompany до Company. Прямо сейчас это все еще Company|DraftCompany

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...