Microsoft/TypeScript

Indexing/element access on `super` avoids instance property checks

Open

#55,899 opened on 2023年9月28日

GitHub で見る
 (1 comment) (0 reactions) (1 assignee)TypeScript (6,726 forks)batch import
BugDomain: classesEffort: CasualFix AvailableHelp WantedRescheduled

Repository metrics

Stars
 (48,455 stars)
PR merge metrics
 (平均マージ 6d 17h) (30d で 9 merged PRs)

説明

Discovered in conversation at https://github.com/microsoft/TypeScript/pull/55892#discussion_r1339658106

class C {
    yadda = () => {};
}

class D extends C {
    badda() {
        super["yadda"]();
    }
}

new D().badda()

Currently there is no error for this code; however, if you switched it to a property access, you'd get the error introduced at https://github.com/microsoft/TypeScript/pull/54056.

class C {
    yadda = () => {};
}

class D extends C {
    badda() {
        super.yadda(); // ❌ errors, as expected
    }
}

コントリビューターガイド