null vs undefined (JS)

You may wonder whats the difference between null and undefined in javascript. Some even said they’re interchangeable. Is it true? Let’s see..

null == undefined 
1 + null 
function add(a = 1, b) {
console.log(a + b)
}
add(null, 2) 
1 + null 
function add(a = 1, b) {
console.log(a + b)
}
add(null, 2) 

though both will be treated as false during boolean evaluation, null will be evaluated as 0 in arithmetic operation. This subtle difference may cause unexpected bugs, watch out~