mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-15 21:36:50 -05:00
Merge pull request #24645 from Kingwl/this-type-accessibility
allow access protected member in this parameter context
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
class MyClass {
|
||||
private p: number = 123;
|
||||
protected pp: number = 123;
|
||||
public ppp: number = 123;
|
||||
private static sp: number = 123;
|
||||
protected static spp: number = 123;
|
||||
public static sppp: number = 123;
|
||||
}
|
||||
|
||||
interface MyClass {
|
||||
extension1(p: number): void;
|
||||
extension2(p: number): void;
|
||||
extension3(p: number): void;
|
||||
}
|
||||
|
||||
MyClass.prototype.extension1 = function (this: MyClass, p: number) {
|
||||
this.p = p;
|
||||
this.pp = p;
|
||||
this.ppp = p;
|
||||
MyClass.sp = p;
|
||||
MyClass.spp = p;
|
||||
MyClass.sppp = p;
|
||||
}
|
||||
|
||||
MyClass.prototype.extension2 = function<T extends MyClass> (this: T, p: number) {
|
||||
this.p = p;
|
||||
this.pp = p;
|
||||
this.ppp = p;
|
||||
MyClass.sp = p;
|
||||
MyClass.spp = p;
|
||||
MyClass.sppp = p;
|
||||
}
|
||||
|
||||
function extension3<T extends MyClass> (this: T, p: number) {
|
||||
this.p = p;
|
||||
this.pp = p;
|
||||
this.ppp = p;
|
||||
MyClass.sp = p;
|
||||
MyClass.spp = p;
|
||||
MyClass.sppp = p;
|
||||
}
|
||||
|
||||
MyClass.prototype.extension3 = extension3;
|
||||
Reference in New Issue
Block a user