#typescript
#typescript
Вопрос:
говорят, что вы можете создать объект, используя интерфейс, подобный этому: let o: ILookup = { id: 1, name: 'abc'}
Какой синтаксис для записи этого встроенного, например lookups.push(ILookup = { id: 1, name: 'abc'})
?
Комментарии:
1. Если
lookups
имеет типArray<ILookup>
, то то, что вы просите, бессмысленно
Ответ №1:
Если компилятор не может определить тип на основе использования, вы можете сообщить компилятору, что вы на 100% уверены в своей правоте, и использовать утверждение типа. (https://www.typescriptlang.org/docs/handbook/basic-types.html#type-assertions )
lookups.push({ id: 1, name: "abc" } as ILookup)
В то время как способ утверждения типа работает, TypeScript в большинстве случаев достаточно умен, чтобы понять, что вы перешли к lookup.push
ILookup
предположению lookups
типа ILookup[]
. В этом случае он решает, что { id: 1, name: "abc" }
это вполне допустимый аргумент для функции.