Ric*_*ard 9 typescript typescript1.8
我想为使用外部库的类创建一个占位符接口.所以我做了:
export interface IDatabaseModel extends any
{
}
Run Code Online (Sandbox Code Playgroud)
我宁愿这样做并稍后添加方法(例如findAll()),而不是将我的所有类标记为'any',并且必须在以后使用'IDatabaseModel'手动搜索并替换数百个特定位置中的'any'.
但编译器抱怨它找不到'任何'.
我究竟做错了什么?
Pal*_*leo 10
any我想创建一个占位符界面
使用别名:
type IDatabaseModel = any;
Run Code Online (Sandbox Code Playgroud)
从TypeScript 2.2开始,obj.propName允许使用索引签名的属性访问语法:
interface AnyProperties {
[prop: string]: any
}
type MyType = AnyProperties & {
findAll(): string[]
}
let a: MyType
a.findAll() // OK, with autocomplete
a.abc = 12 // OK, but no autocomplete
Run Code Online (Sandbox Code Playgroud)
类型any是选择退出类型检查的一种方式,因此在进行类型检查的环境中使用它是没有意义的。
您可以在使用方法时将它们添加到接口中:
export interface IDatabaseModel
{
findAll(): any;
}
Run Code Online (Sandbox Code Playgroud)
编辑:同时查看Paleo's 答案以使用类型别名。
| 归档时间: |
|
| 查看次数: |
2597 次 |
| 最近记录: |