Javascript |
Javascript kata |
Node JS |
Data Types |
Variables |
Control Flow |
Scope and Environment |
Objects |
Functions |
Events |
Prototypal Inheritance |
Three.js |
3DE Code Editor |
Javascript Control Flow
Equality
1 === 1;
Checks
type and
value
Double Equals
1 == 1;
checks only values
Weird Examples
0 == "0" // true
0 == "" // true
0 == [] // true
however,
0 == null // false
0 == undefined // false
and,
"true" == true // false
"false" == false // false
If you want to check:
5 == "5";
better do:
5 === Number("5");
Truthy or Falsy?
"" // falsy
[] // truthy
() // truthy
NaN // falsy
Infinity // falsy
0 // falsy
more confusing shizer:
"" == false // true
0 == false // true
0n == false // true
Nan == false // false
null == false // false
undefined == false // false
memorize the 7 falsy values
- ""
- 0
- 0n
- NaN
- undefined
- null
- false
null == null // true
null == false // false
null == true // false
Objects
Obj1 === obj2 // always false
unless they are literally the same object.
}
If Statements
let condition = true;
let condition2 = false;
if (condition) {
console.log("Do action");
} else if (condition2) {
console.log("take alternative actions");
} else {
console.log("take default action");
}
http:///wiki/?jscontrolflow