Skip to content

Commit 58b27d7

Browse files
committed
typecoercion
1 parent 56441fe commit 58b27d7

File tree

1 file changed

+140
-0
lines changed

1 file changed

+140
-0
lines changed

Variables/typecoercion.js

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
2+
// Arithemetic
3+
console.log(1 + 1)//2
4+
console.log(1 - 1)//0
5+
console.log(5 * 2)//10
6+
console.log(4 / 2)//2
7+
console.log(5 ** 2)//25
8+
9+
10+
//String + - * / Number/String
11+
console.log("5" + 2)//52//string
12+
console.log(1 + "2") //12 string
13+
console.log("1" + "2")//12 string
14+
console.log("str" + "hii")//strhii
15+
console.log("str" + 5)//str5 string
16+
17+
console.log("5" - 2)//3//number
18+
console.log(1 - "2") //-1 number
19+
console.log("1" - "2")//-1 number
20+
console.log("str" - "hii")//NAN
21+
console.log("str" - 5)//NAN
22+
console.log(5 - "g")// NAN
23+
24+
25+
26+
console.log("5" * 2)//10//number
27+
console.log(1 * "2") //2 number
28+
console.log("1" * "2")//2 number
29+
console.log("str" * "hii")//NAN
30+
console.log("str" * 5)//NAN
31+
console.log(5 * "g")// NAN
32+
33+
34+
console.log("5" / 2)//2.5//number
35+
console.log(1 / "2") //0.5 number
36+
console.log("1" / "2")//0.5 number
37+
console.log("str" / "hii")//NAN
38+
console.log("str" / 5)//NAN
39+
console.log(5 / "g")// NAN
40+
41+
42+
43+
// Boolean
44+
45+
console.log(1 == true); // true (true → 1)
46+
console.log(0 == false); // true (false → 0)
47+
console.log(2 == true); // false (true → 1, 2 != 1)
48+
49+
50+
// Null Undefined
51+
52+
console.log(null == undefined); // true (loose equality special case)
53+
console.log(null === undefined); // false (different types)
54+
55+
56+
// IF Else
57+
if ("") {
58+
console.log("yes");
59+
}
60+
else {
61+
console.log("no");
62+
}
63+
// "no" (empty string is falsy)
64+
65+
66+
if ("0"){
67+
68+
console.log("yes");
69+
}
70+
else {
71+
console.log("no");
72+
}
73+
// "yes" (string "0" is truthy)
74+
75+
76+
if ([]){
77+
console.log("yes");
78+
}
79+
else {
80+
console.log("no");
81+
}
82+
//[] empty array truthy value yes
83+
84+
85+
if ({}){
86+
console.log("yes");
87+
}
88+
else {
89+
console.log("no");
90+
} //{} truthy value yes
91+
92+
93+
if (1){
94+
console.log("yes");
95+
}
96+
else {
97+
console.log("no");
98+
} //1 trure yes
99+
100+
101+
if (0){
102+
console.log("yes");
103+
}
104+
else {
105+
console.log("no");
106+
} //0 false no
107+
108+
if (" "){
109+
console.log("yes");
110+
}
111+
else {
112+
console.log("no");
113+
} // " " with space truthy value yes
114+
115+
116+
if (""){
117+
console.log("yes");
118+
}
119+
else {
120+
console.log("no");
121+
} // no "" empty string false no
122+
123+
124+
if (-5){
125+
console.log("yes");
126+
}
127+
else {
128+
console.log("no");
129+
} // yes
130+
131+
132+
//Equality Pitfalls
133+
console.log("0" == 0); // true ("0" → number 0)
134+
console.log(false == "0"); // true (false → 0, "0" → 0)
135+
console.log([] == ""); // true ([] → "" → number 0, "" → 0)
136+
console.log([] == 0); // true ([] → "" → 0)
137+
console.log([1] == 1); // true ([1] → "1" → 1)
138+
139+
140+

0 commit comments

Comments
 (0)