1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
=== 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 : { a: string; }
>a : string
>{ a: '', b: 123 } || { a: '', b: true } : { a: string; b: number; } | { a: string; b: boolean; }
>{ a: '', b: 123 } : { a: string; b: number; }
>a : string
>'' : ""
>b : number
>123 : 123
>{ a: '', b: true } : { a: string; b: boolean; }
>a : string
>'' : ""
>b : boolean
>true : true
|