Don't emit binding pattern pattern / optional parameter error when an initializer is present (#52880)

This commit is contained in:
Jake Bailey
2023-02-21 18:05:02 -08:00
committed by GitHub
parent 27376f1577
commit ef79b42b57
4 changed files with 37 additions and 1 deletions

View File

@@ -37648,7 +37648,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
error(node.name, Diagnostics.constructor_cannot_be_used_as_a_parameter_property_name);
}
}
if ((node.questionToken || isJSDocOptionalParameter(node)) && isBindingPattern(node.name) && (func as FunctionLikeDeclaration).body) {
if (!node.initializer && isOptionalDeclaration(node) && isBindingPattern(node.name) && (func as FunctionLikeDeclaration).body) {
error(node, Diagnostics.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature);
}
if (node.name && isIdentifier(node.name) && (node.name.escapedText === "this" || node.name.escapedText === "new")) {