Abstract


  • Just a list of weird syntax I faced when I was playing with JS

Logic


  • !undefined is true, but undefined isn’t rended as false
if (undefined == false) {
	console.log("undefined == false")
} else console.log("undefined != false")
 
if (!undefined == true) {
	console.log("!undefined == true")
} else console.log("!undefined != true")
  • Same applied to null
if (null == false) {
	console.log("null == false")
} else console.log("null != false")
 
if (!null == true) {
	console.log("!null == true")
} else console.log("!null != true")
  • null vs undefined
    • null is often used explicitly to indicate this absence
    • undefined is usually a default state for variables that have not been assigned a value