我不小心弄到了,它似乎可以工作:
export interface ITestBlockOpts {
desc: string,
title: string,
opts: Object,
suman: ISuman,
gracefulExit,
handleBeforesAndAfters,
notifyParent
}
行:
gracefulExit,
handleBeforesAndAfters,
notifyParent
该语法是
的缩写吗? gracefulExit: any
handleBeforesAndAfters: any
notifyParent: any
?
答案 0 :(得分:3)
是的。 TypeScript编译器具有一个选项,假定未类型化的变量应键入为core data
。这是the noImplicitAny
option,默认情况下为any
。
它的存在主要是为了简化从JavaScript(TypeScript是严格的父集,即false
时所有有效的JavaAscript都是有效的TypeScript)的转换。
如果您在未开发区域或所有TypeScript项目中使用TypeScript,则应使用noImplicitAny == false
以确保始终使用类型化的变量和字段。
请注意,在TypeScript中,如果接口成员具有noImplicitAny == true
类型(无论是否隐式),则它与可选(any
)成员不是同一回事。
...所以这些接口 是等效的:
undefined
...但是这些接口不等效:
interface Foo {
a: any // explicit `any` type
}
interface Bar {
a // implicit 'any' type
}