/
nanEquality.js
71 lines (57 loc) · 1.17 KB
/
nanEquality.js
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
//// [nanEquality.ts]
declare const x: number;
if (x === NaN) {}
if (NaN === x) {}
if (x == NaN) {}
if (NaN == x) {}
if (x !== NaN) {}
if (NaN !== x) {}
if (x != NaN) {}
if (NaN != x) {}
if (x === ((NaN))) {}
if (((NaN)) === x) {}
if (x !== ((NaN))) {}
if (((NaN)) !== x) {}
if (NaN === NaN) {}
if (NaN !== NaN) {}
if (NaN == NaN) {}
if (NaN != NaN) {}
// ...
declare let y: any;
if (NaN === y[0][1]) {}
function t1(value: number, NaN: number) {
return value === NaN; // ok
}
function t2(value: number, NaN: number) {
return NaN == value; // ok
}
function t3(NaN: number) {
return NaN === NaN; // ok
}
//// [nanEquality.js]
if (x === NaN) { }
if (NaN === x) { }
if (x == NaN) { }
if (NaN == x) { }
if (x !== NaN) { }
if (NaN !== x) { }
if (x != NaN) { }
if (NaN != x) { }
if (x === ((NaN))) { }
if (((NaN)) === x) { }
if (x !== ((NaN))) { }
if (((NaN)) !== x) { }
if (NaN === NaN) { }
if (NaN !== NaN) { }
if (NaN == NaN) { }
if (NaN != NaN) { }
if (NaN === y[0][1]) { }
function t1(value, NaN) {
return value === NaN; // ok
}
function t2(value, NaN) {
return NaN == value; // ok
}
function t3(NaN) {
return NaN === NaN; // ok
}