diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index e1ed2f4fa1f..9649a4b3bdc 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -20233,7 +20233,10 @@ namespace ts { // perform property check if property or indexer is declared in 'type' // this allows to rule out cases when both property and indexer are inherited from the base class let errorNode: Node; - if (propDeclaration && (propDeclaration.name.kind === SyntaxKind.ComputedPropertyName || prop.parent === containingType.symbol)) { + if (propDeclaration && + (getSpecialPropertyAssignmentKind(propDeclaration as BinaryExpression) === SpecialPropertyAssignmentKind.ThisProperty || + propDeclaration.name.kind === SyntaxKind.ComputedPropertyName || + prop.parent === containingType.symbol)) { errorNode = propDeclaration; } else if (indexDeclaration) {