From 3ff2a628925c8324e05f2131ebe0af204b3d5766 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sun, 30 Nov 2014 09:11:18 -0800 Subject: [PATCH] Allow assignment expressions as destructuring assignment target --- src/compiler/checker.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index c60abea743c..3d40bb6ec3f 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6441,6 +6441,10 @@ module ts { } function checkDestructuringAssignment(target: Expression, sourceType: Type, contextualMapper?: TypeMapper): Type { + if (target.kind === SyntaxKind.BinaryExpression && (target).operator === SyntaxKind.EqualsToken) { + checkBinaryExpression(target, contextualMapper); + target = (target).left; + } if (target.kind === SyntaxKind.ObjectLiteral) { return checkObjectLiteralAssignment(target, sourceType, contextualMapper); }