File: controlFlowCommaOperator.types

package info (click to toggle)
node-typescript 5.0.4%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 459,116 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (71 lines) | stat: -rw-r--r-- 1,570 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
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
=== tests/cases/conformance/controlFlow/controlFlowCommaOperator.ts ===
function f(x: string | number | boolean) {
>f : (x: string | number | boolean) => void
>x : string | number | boolean

    let y: string | number | boolean = false;
>y : string | number | boolean
>false : false

    let z: string | number | boolean = false;
>z : string | number | boolean
>false : false

    if (y = "", typeof x === "string") {
>y = "", typeof x === "string" : boolean
>y = "" : ""
>y : string | number | boolean
>"" : ""
>typeof x === "string" : boolean
>typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"
>x : string | number | boolean
>"string" : "string"

        x; // string
>x : string

        y; // string
>y : string

        z; // boolean
>z : false
    }
    else if (z = 1, typeof x === "number") {
>z = 1, typeof x === "number" : boolean
>z = 1 : 1
>z : string | number | boolean
>1 : 1
>typeof x === "number" : boolean
>typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"
>x : number | boolean
>"number" : "number"

        x; // number
>x : number

        y; // string
>y : string

        z; // number
>z : number
    }
    else {
        x; // boolean
>x : boolean

        y; // string
>y : string

        z; // number
>z : number
    }
    x; // string | number | boolean
>x : string | number | boolean

    y; // string
>y : string

    z; // number | boolean
>z : number | false
}