Skip to content

Cannot access protected field but private field inside nested classΒ #59989

@jrieken

Description

@jrieken

πŸ”Ž Search Terms

private, protected

πŸ•— Version & Regression Information

Version 5.6.2

⏯ Playground Link

https://www.typescriptlang.org/play/?#code/KYDwDg9gTgLgBAYwDYEMDOa4DEITgbwChC5S4woIZgFqATOGACwEs0BJNABUutuAYBeOAEYA3CTIUWANxTVGrDtyiz5wOMPHEycAEYooACgCUALhx4iu3QggA7NPGbzNithJtlJXqMBgArlD2cPbAAO6IqBhwoNT2dJiWBDpeNmgQALb+rPYA5qYpacVwfoHBivIAdMxsnDxqCgDUlTA1SvW8NPSeJaQAvj42g7qD-UA

πŸ’» Code

export class Foo {

    protected thisIsProtected = 1;
    private thisIsPrivate = 1;

    bar():Foo {
        const that = this;
        
        return new class extends Foo {

            something() {
                return that.thisIsPrivate + that.thisIsProtected;
            }
        }
    }
}

πŸ™ Actual behavior

I get a compile error for that.thisIsProtected, but not for that.thisIsPrivate

πŸ™‚ Expected behavior

I can access the protected field, like the private

Additional information about the issue

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugA bug in TypeScriptDomain: classesBehavior of various `class` constructs, e.g. mixins or base classesHelp WantedYou can do this

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions