Как я могу ограничить свойство при приведении типа (машинопись) - PullRequest
0 голосов
/ 24 марта 2019

Как получить ожидаемый результат и каков наилучший подход к ограничению свойства при приведении типа ??

interface user {
  name: string
  password: string
}

interface userEntity {
  name: string
}

const user: user = {
  name: 'name',
  password: 'password'
}

const result = user as userEntity;
// output { name: 'name', password: 'password' }
// expected { name: 'name' }

1 Ответ

1 голос
/ 24 марта 2019

Приведение типов не влияет на время выполнения, значения в объекте останутся прежними.Единственное назначение приведения типов - это подавление ошибок компиляции при проверке типов, когда вы знаете лучше, чем компилятор, каким должен быть фактический тип объекта.

Чтобы скопировать только подмножество свойств при назначении значения другомуобъект, вы должны сделать это явно во время выполнения.Существует множество возможных способов сделать это , например

const result: userEntity = {name: user.name};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...