Microsoft/TypeScript
Ver no GitHubType Inference in for... in combined with typeof
Open
#12.944 aberto em 15 de dez. de 2016
Help WantedSuggestion
Métricas do repositório
- Stars
- (48.455 stars)
- Métricas de merge de PR
- (Mesclagem média 6d 17h) (9 fundiu PRs em 30d)
Description
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)