首页 > 解决方案 > Typescript中接口新对象的内联语法

问题描述

据说你可以使用这样的接口创建一个对象:let o: ILookup = { id: 1, name: 'abc'}

写这个内联的语法是什么lookups.push(ILookup = { id: 1, name: 'abc'})

标签: typescript

解决方案


如果编译器无法根据使用情况推断类型,您可以告诉编译器您 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是 type 的ILookup[]。在这种情况下,它解决了{ id: 1, name: "abc" }该函数的完全有效参数。


推荐阅读