diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index ea38a8f4b31..ea86b2b9b04 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -5582,7 +5582,7 @@ module ts { needToCaptureLexicalThis = false; while (container && container.kind === SyntaxKind.ArrowFunction) { container = getSuperContainer(container, /*includeFunctions*/ true); - needToCaptureLexicalThis = true; + needToCaptureLexicalThis = languageVersion < ScriptTarget.ES6; } // topmost container must be something that is directly nested in the class declaration diff --git a/tests/baselines/reference/computedPropertyNames31_ES6.js b/tests/baselines/reference/computedPropertyNames31_ES6.js index 2c63dcee077..d17423223e3 100644 --- a/tests/baselines/reference/computedPropertyNames31_ES6.js +++ b/tests/baselines/reference/computedPropertyNames31_ES6.js @@ -23,7 +23,6 @@ class Base { } class C extends Base { foo() { - var _this = this; (() => { var obj = { [super.bar()]() { } // needs capture diff --git a/tests/baselines/reference/emitClassDeclarationWithSuperMethodCall01.js b/tests/baselines/reference/emitClassDeclarationWithSuperMethodCall01.js index f0712f8e131..77b91730156 100644 --- a/tests/baselines/reference/emitClassDeclarationWithSuperMethodCall01.js +++ b/tests/baselines/reference/emitClassDeclarationWithSuperMethodCall01.js @@ -18,7 +18,6 @@ class Parent { } class Foo extends Parent { foo() { - var _this = this; var x = () => super.foo(); } }