2014-08-15 23:33:16 +02:00
|
|
|
=== 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
|
2014-10-11 02:01:28 +02:00
|
|
|
>{ a: '', b: 123 } || { a: '', b: true } : { a: string; b: number; } | { a: string; b: boolean; }
|
2014-08-15 23:33:16 +02:00
|
|
|
>{ a: '', b: 123 } : { a: string; b: number; }
|
|
|
|
>a : string
|
|
|
|
>b : number
|
|
|
|
>{ a: '', b: true } : { a: string; b: boolean; }
|
|
|
|
>a : string
|
|
|
|
>b : boolean
|
|
|
|
|