-
Notifications
You must be signed in to change notification settings - Fork 12.9k
Closed
Labels
QuestionAn issue which isn't directly actionable in codeAn issue which isn't directly actionable in code
Description
environment
typescript@1.9.0-dev.20160128
description
relate? : #6532
In some case (e.g. to development framework), I'd like to do a destruct operation for the members which is restricted as readonly
to release a some large object explicitly. But it would be the compile error if I assign a value to the restricted member in a non-constructor()
method.
class A {
readonly a: SomeLargeObject;
constructor(a: SomeLargeObject) {
this.a = a;
}
// explicit destructor
destroy(): void {
// release this some large object explicitly
this.a = null; // <-- compile error
(<any>this).a = null; // <-- no problem
(<MutableA>this).a = null // <--- no problem
}
}
interface MutableA {
a: SomeLargeObject;
}
I know we can avoid this error if casting this
to any
type, but it would not be a type safe. In other approach, we can also do it if we define a "mutable" interface and cast to it, but it would be wordy....
Are there some good approach to remove 'readonly' restriction templorary?
Metadata
Metadata
Assignees
Labels
QuestionAn issue which isn't directly actionable in codeAn issue which isn't directly actionable in code