1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
=== tests/cases/conformance/expressions/binaryOperators/logicalOrOperator/logicalOrExpressionIsContextuallyTyped.ts ===
// The || operator permits the operands to be of any type.
// If the || expression is contextually typed, the operands are contextually typed by the
// same type and the result is of the best common type of the contextual type and the two
// operand types.
var r: { a: string } = { a: '', b: 123 } || { a: '', b: true };
>r : Symbol(r, Decl(logicalOrExpressionIsContextuallyTyped.ts, 5, 3))
>a : Symbol(a, Decl(logicalOrExpressionIsContextuallyTyped.ts, 5, 8))
>a : Symbol(a, Decl(logicalOrExpressionIsContextuallyTyped.ts, 5, 24))
>b : Symbol(b, Decl(logicalOrExpressionIsContextuallyTyped.ts, 5, 31))
>a : Symbol(a, Decl(logicalOrExpressionIsContextuallyTyped.ts, 5, 45))
>b : Symbol(b, Decl(logicalOrExpressionIsContextuallyTyped.ts, 5, 52))
|