【发布时间】:2015-08-17 21:45:35
【问题描述】:
接口定义如下:
interface IRemoteService {
createRecord(record: RecordType): ng.IPromise<ICreateResponse<string>>;
}
interface ICreateResponse<T> {
createdId: T;
}
为什么下面的代码不会导致 Typescript 编译错误?
class RemoteServiceMock implements IRemoteService {
public static $inject = ["$q"];
constructor(private $q: ng.IQService){
}
createRecord(record: RecordType): ng.IPromise<ICreateResponse<string>> {
return this.$q.when({});
}
}
$q.when 的类型是when<T>(value: T): IPromise<T>。
【问题讨论】:
-
是...“{}”属于“Any”类型,因为“Any”不是类型...因为它是“任何类型”。
-
肯定 {} 是 Object 类型的吗?
-
是的...但是任何类型都可以是“any”类型。就像说...“任何东西”... ...显然哪个“对象”也满足...一样。
-
我的意思是“是否像
{} 一样对待 {}”,但您是对的,这可能不清楚。已编辑。 -
ICreateResponse的定义是什么?
标签: angularjs typescript typescript1.5