File: additionOperatorWithStringAndEveryType.js

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 (79 lines) | stat: -rw-r--r-- 1,401 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
74
75
76
77
78
79
//// [additionOperatorWithStringAndEveryType.ts]
enum E { a, b, c }

var a: any;
var b: boolean;
var c: number;
var d: string;
var e: Object;
var f: void;
var g: E;

var x: string;

// string could plus every type, and the result is always string
// string as left operand
var r1 = x + a;
var r2 = x + b;
var r3 = x + c;
var r4 = x + d;
var r5 = x + e;
var r6 = x + f;
var r7 = x + g;

// string as right operand
var r8 = a + x;
var r9 = b + x;
var r10 = c + x;
var r11 = d + x;
var r12 = e + x;
var r13 = f + x;
var r14 = g + x;

// other cases
var r15 = x + E;
var r16 = x + E.a;
var r17 = x + '';
var r18 = x + 0;
var r19 = x + { a: '' };
var r20 = x + [];

//// [additionOperatorWithStringAndEveryType.js]
var E;
(function (E) {
    E[E["a"] = 0] = "a";
    E[E["b"] = 1] = "b";
    E[E["c"] = 2] = "c";
})(E || (E = {}));
var a;
var b;
var c;
var d;
var e;
var f;
var g;
var x;
// string could plus every type, and the result is always string
// string as left operand
var r1 = x + a;
var r2 = x + b;
var r3 = x + c;
var r4 = x + d;
var r5 = x + e;
var r6 = x + f;
var r7 = x + g;
// string as right operand
var r8 = a + x;
var r9 = b + x;
var r10 = c + x;
var r11 = d + x;
var r12 = e + x;
var r13 = f + x;
var r14 = g + x;
// other cases
var r15 = x + E;
var r16 = x + E.a;
var r17 = x + '';
var r18 = x + 0;
var r19 = x + { a: '' };
var r20 = x + [];