File: logicalOrExpressionIsContextuallyTyped.types

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (21 lines) | stat: -rw-r--r-- 781 bytes parent folder | download | duplicates (5)
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