作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
给定界面
interface FooWithBar {
():void;
bar():void;
}
如何编写实现?
function foo(){
}
foo.bar = function(){
};
不起作用,因为它会抛出错误,“属性 'bar' 在类型 '() => void 上不存在”。但是,如果我将 foo
的类型声明为 FooWithBar
```` var foo: FooWithBar = function () {
};
foo.bar = function () {
};
````
我收到另一个错误,“类型 '() => void' 不可分配给类型 'FooWithBar'。属性 'bar' 在类型 '() => void' 中丢失”。
我该如何解决这个第 22 条军规?
最佳答案
function FooWithBar() {
// ...
}
module FooWithBar { // n.b. can use 'namespace' keyword here instead of 'module' if you like
export function bar() {
// ...
}
}
这是一些避免出现在“仅代码答案”审阅队列中的文本。
关于casting - 如何在 TypeScript 中实现既可调用又具有属性的接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33444458/
我是一名优秀的程序员,十分优秀!