-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcoercive-nuances.js
More file actions
28 lines (22 loc) · 984 Bytes
/
coercive-nuances.js
File metadata and controls
28 lines (22 loc) · 984 Bytes
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
console.log(Number(null));
console.log(null + 12); //12 as null is evaluated to 0 here // Number(null) is being called
console.log(null - 12); // -12, same as null is evaluated to 0 //Number(null) is being called
// but this doesn't work with undefined as Number(undefined ) = NaN
// and we get NaN if we try to do a math operation on a number and undefined
console.log(Number(undefined));
console.log(undefined + 10); // NaN + 10 => NaN
console.log(undefined - 10); // Nan - 10 => NaN
console.log(Number(true)); //1
console.log(Number(false)); //0
console.log(Boolean(12)); //true
console.log(Boolean(-22)); //true
console.log(Boolean(0)); //false
console.log(Boolean(-0)); //false
console.log(NaN == NaN); //false
console.log(NaN === NaN); //false
console.log(Number.isNaN(NaN)); //true
console.log(null == undefined); //true
console.log(null === undefined); //false
console.log(null == 0); // false
console.log(null == ""); //false //
// so null only == to undefined or null