TypeScript/tests/baselines/reference/logicalOrExpressionIsContextuallyTyped.types
2015-04-15 16:44:20 -07:00

22 lines
795 B
Plaintext

=== 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
>'' : string
>b : number
>123 : number
>{ a: '', b: true } : { a: string; b: boolean; }
>a : string
>'' : string
>b : boolean
>true : boolean