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 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
=== tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts ===
let abc: "ABC" = "ABC";
>abc : "ABC"
>"ABC" : "ABC"
let xyz: "XYZ" = "XYZ";
>xyz : "XYZ"
>"XYZ" : "XYZ"
let abcOrXyz: "ABC" | "XYZ" = abc || xyz;
>abcOrXyz : "ABC" | "XYZ"
>abc || xyz : "ABC" | "XYZ"
>abc : "ABC"
>xyz : "XYZ"
let abcOrXyzOrNumber: "ABC" | "XYZ" | number = abcOrXyz || 100;
>abcOrXyzOrNumber : number | "ABC" | "XYZ"
>abcOrXyz || 100 : "ABC" | "XYZ" | 100
>abcOrXyz : "ABC" | "XYZ"
>100 : 100
let a = abcOrXyzOrNumber + 100;
>a : any
>abcOrXyzOrNumber + 100 : any
>abcOrXyzOrNumber : number | "ABC" | "XYZ"
>100 : 100
let b = 100 + abcOrXyzOrNumber;
>b : any
>100 + abcOrXyzOrNumber : any
>100 : 100
>abcOrXyzOrNumber : number | "ABC" | "XYZ"
let c = abcOrXyzOrNumber + abcOrXyzOrNumber;
>c : any
>abcOrXyzOrNumber + abcOrXyzOrNumber : any
>abcOrXyzOrNumber : number | "ABC" | "XYZ"
>abcOrXyzOrNumber : number | "ABC" | "XYZ"
let d = abcOrXyzOrNumber + true;
>d : any
>abcOrXyzOrNumber + true : any
>abcOrXyzOrNumber : number | "ABC" | "XYZ"
>true : true
let e = false + abcOrXyzOrNumber;
>e : any
>false + abcOrXyzOrNumber : any
>false : false
>abcOrXyzOrNumber : number | "ABC" | "XYZ"
let f = abcOrXyzOrNumber++;
>f : number
>abcOrXyzOrNumber++ : number
>abcOrXyzOrNumber : string | number
let g = --abcOrXyzOrNumber;
>g : number
>--abcOrXyzOrNumber : number
>abcOrXyzOrNumber : string | number
let h = abcOrXyzOrNumber ^ 10;
>h : number
>abcOrXyzOrNumber ^ 10 : number
>abcOrXyzOrNumber : string | number
>10 : 10
let i = abcOrXyzOrNumber | 10;
>i : number
>abcOrXyzOrNumber | 10 : number
>abcOrXyzOrNumber : string | number
>10 : 10
let j = abc < xyz;
>j : boolean
>abc < xyz : boolean
>abc : "ABC"
>xyz : "XYZ"
let k = abc === xyz;
>k : boolean
>abc === xyz : boolean
>abc : "ABC"
>xyz : "XYZ"
let l = abc != xyz;
>l : boolean
>abc != xyz : boolean
>abc : "ABC"
>xyz : "XYZ"
|