forked from NerdLang/nerd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcorrectness.js
53 lines (49 loc) · 3.27 KB
/
correctness.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
var elements = [undefined, null, NaN, 1, "str", [], [0,1,2], {"key":"value"}, {}];
// Binary operators
for(var i = 0; i < elements.length; i++)
{
for(var j = 0; j < elements.length; j++)
{
console.log(elements[i], "+", elements[j], "=", elements[i] + elements[j], "- type:", typeof (elements[i] + elements[j]));
console.log(elements[i], "-", elements[j], "=", elements[i] - elements[j], "- type:", typeof (elements[i] - elements[j]));
console.log(elements[i], "*", elements[j], "=", elements[i] * elements[j], "- type:", typeof (elements[i] * elements[j]));
console.log(elements[i], "/", elements[j], "=", elements[i] / elements[j], "- type:", typeof (elements[i] / elements[j]));
console.log(elements[i], ">", elements[j], "=", elements[i] > elements[j], "- type:", typeof (elements[i] > elements[j]));
console.log(elements[i], "<", elements[j], "=", elements[i] < elements[j], "- type:", typeof (elements[i] < elements[j]));
console.log(elements[i], "%", elements[j], "=", elements[i] % elements[j], "- type:", typeof (elements[i] % elements[j]));
console.log(elements[i], "^", elements[j], "=", elements[i] ^ elements[j], "- type:", typeof (elements[i] ^ elements[j]));
console.log(elements[i], "&", elements[j], "=", elements[i] & elements[j], "- type:", typeof (elements[i] & elements[j]));
console.log(elements[i], ">>", elements[j], "=", elements[i] >> elements[j], "- type:", typeof (elements[i] >> elements[j]));
console.log(elements[i], "<<", elements[j], "=", elements[i] << elements[j], "- type:", typeof (elements[i] << elements[j]));
console.log(elements[i], "==", elements[j], "=", elements[i] == elements[j], "- type:", typeof (elements[i] == elements[j]));
console.log(elements[i], "!=", elements[j], "=", elements[i] != elements[j], "- type:", typeof (elements[i] != elements[j]));
console.log(elements[i], "===", elements[j], "=", elements[i] === elements[j], "- type:", typeof (elements[i] === elements[j]));
console.log(elements[i], "!==", elements[j], "=", elements[i] !== elements[j], "- type:", typeof (elements[i] !== elements[j]));
}
}
// Increment operators
for(var i = 0; i < elements.length; i++)
{
var _left = Object.clone(elements[i]);
console.log(_left, "+=", elements[j], "=", _left += elements[j], "- type:", typeof _left);
_left = Object.clone(elements[i]);
console.log(_left, "*=", elements[j], "=", _left *= elements[j], "- type:", typeof _left);
_left = Object.clone(elements[i]);
console.log(_left, "-=", elements[j], "=", _left -= elements[j], "- type:", typeof _left);
_left = Object.clone(elements[i]);
console.log(_left, "/=", elements[j], "=", _left /= elements[j], "- type:", typeof _left);
_left = Object.clone(elements[i]);
console.log(_left, "%=", elements[j], "=", _left %= elements[j], "- type:", typeof _left);
_left = Object.clone(elements[i]);
console.log(_left, "^=", elements[j], "=", _left ^= elements[j], "- type:", typeof _left);
_left = Object.clone(elements[i]);
console.log(_left, "&=", elements[j], "=", _left &= elements[j], "- type:", typeof _left);
}
// Unary operators
for(var i = 0; i < elements.length; i++)
{
var _left = Object.clone(elements[i]);
console.log(_left, "++", "=", _left++, "- type:", typeof (_left));
_left = Object.clone(elements[i]);
console.log(_left, "--", "=", _left--, "- type:", typeof (_left));
}