Skip to content

Commit 2344a80

Browse files
committed
Handle const binding elements with initializers correctly
1 parent a28c703 commit 2344a80

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/compiler/checker.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3117,7 +3117,8 @@ namespace ts {
31173117
// pattern. Otherwise, it is the type any.
31183118
function getTypeFromBindingElement(element: BindingElement, includePatternInType?: boolean, reportErrors?: boolean): Type {
31193119
if (element.initializer) {
3120-
return getBaseTypeOfLiteralType(checkExpressionCached(element.initializer));
3120+
const exprType = checkExpressionCached(element.initializer);
3121+
return getCombinedNodeFlags(element) & NodeFlags.Const ? exprType : getBaseTypeOfLiteralType(exprType);
31213122
}
31223123
if (isBindingPattern(element.name)) {
31233124
return getTypeFromBindingPattern(<BindingPattern>element.name, includePatternInType, reportErrors);

0 commit comments

Comments
 (0)