Use union type when binding element has initializer

This commit is contained in:
Anders Hejlsberg 2016-08-27 09:40:49 -07:00 committed by Mohamed Hegazy
parent f4c621bb8e
commit 88fd3d54b2

View file

@ -2975,7 +2975,9 @@ namespace ts {
if (strictNullChecks && declaration.initializer && !(getFalsyFlags(checkExpressionCached(declaration.initializer)) & TypeFlags.Undefined)) {
type = getTypeWithFacts(type, TypeFacts.NEUndefined);
}
return type;
return declaration.initializer ?
getUnionType([type, checkExpressionCached(declaration.initializer)], /*subtypeReduction*/ true) :
type;
}
function getTypeForVariableLikeDeclarationFromJSDocComment(declaration: VariableLikeDeclaration) {