Microsoft/TypeScript
GitHub で見るType Inference in for... in combined with typeof
Open
#12,944 opened on 2016年12月15日
Help WantedSuggestion
説明
TypeScript Version: 2.1.4
The following code gives an error in TS 2.1: It's not really nice code, but I think it should work never the less :)
for (var a in this) {
if (typeof this[a] === "function" && !ko.isObservable(this[a]))
this[a] = this[a].bind(this);
}
Expected behavior: I would expect this[a] to be typed as this[keyof this] & Function:
for (var a in this) {
if (typeof this[a] === "function" && !ko.isObservable(this[a]))
this[a] =( <this[keyof this] & Function> this[a]).bind(this);
}
Actual behavior: It gives an error, as of TS 2.1, it worked in TS 2.0 (because mapped types did not exist, this[a] was typed as any)