1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
=== tests/cases/compiler/conditionalExpressions2.ts ===
var a = false ? 1 : null;
>a : number
>false ? 1 : null : 1
>false : false
>1 : 1
>null : null
var b = false ? undefined : 0;
>b : number
>false ? undefined : 0 : 0
>false : false
>undefined : undefined
>0 : 0
var c = false ? 1 : 0;
>c : number
>false ? 1 : 0 : 0 | 1
>false : false
>1 : 1
>0 : 0
var d = false ? false : true;
>d : boolean
>false ? false : true : boolean
>false : false
>false : false
>true : true
var e = false ? "foo" : "bar";
>e : string
>false ? "foo" : "bar" : "foo" | "bar"
>false : false
>"foo" : "foo"
>"bar" : "bar"
var f = false ? null : undefined;
>f : any
>false ? null : undefined : null
>false : false
>null : null
>undefined : undefined
var g = true ? {g:5} : null;
>g : { g: number; }
>true ? {g:5} : null : { g: number; }
>true : true
>{g:5} : { g: number; }
>g : number
>5 : 5
>null : null
var h = [{h:5}, null];
>h : { h: number; }[]
>[{h:5}, null] : { h: number; }[]
>{h:5} : { h: number; }
>h : number
>5 : 5
>null : null
function i() { if (true) { return { x: 5 }; } else { return null; } }
>i : () => { x: number; }
>true : true
>{ x: 5 } : { x: number; }
>x : number
>5 : 5
>null : null
|