File: exponentiationOperatorWithUndefinedValueAndValidOperands.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 (73 lines) | stat: -rw-r--r-- 1,266 bytes parent folder | download | duplicates (7)
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
=== tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithUndefinedValueAndValidOperands.ts ===
// If one operand is the undefined or undefined value, it is treated as having the type of the
// other operand.

enum E {
>E : E

    a,
>a : E.a

    b
>b : E.b
}

var a: any;
>a : any

var b: number;
>b : number

// operator *
var rk1 = undefined ** a;
>rk1 : number
>undefined ** a : number
>undefined : undefined
>a : any

var rk2 = undefined ** b;
>rk2 : number
>undefined ** b : number
>undefined : undefined
>b : number

var rk3 = undefined ** 1;
>rk3 : number
>undefined ** 1 : number
>undefined : undefined
>1 : 1

var rk4 = undefined ** E.a;
>rk4 : number
>undefined ** E.a : number
>undefined : undefined
>E.a : E.a
>E : typeof E
>a : E.a

var rk5 = a ** undefined;
>rk5 : number
>a ** undefined : number
>a : any
>undefined : undefined

var rk6 = b ** undefined;
>rk6 : number
>b ** undefined : number
>b : number
>undefined : undefined

var rk7 = 0 ** undefined;
>rk7 : number
>0 ** undefined : number
>0 : 0
>undefined : undefined

var rk8 = E.b ** undefined;
>rk8 : number
>E.b ** undefined : number
>E.b : E.b
>E : typeof E
>b : E.b
>undefined : undefined