동등 비교(==)연산자는 좌항과 우항의 피연산자를 비교할 때 암묵적 타입변환을 일으킨다.
5 === 5 // true
5 == "5" // true (typescript시에서도 마찬가지)
그렇기 때문에 결과를 예측하기 어렵고 실수하는 경우도 많다.
"0" == ""; //false
0 == ""; //true
false == null; //true
false == undefiend; //true
일치 비교(===) 연산자는 좌항과 우항의 피연산자가 타입도 같고 값도 같은 경우에 한하여 true를 반환한다.
5 === 5; // true
5=== "5" // false
출처 : 딥다이브