예를 들어, 숫자를 숫자 리터럴과 비교해보면 '=='는 이 비교를 허용하지만
'===' 두 변수의 형식은 동일하지 않은 경우, 값뿐만 아니라 두 변수의 유형도 확인하므로 허용하지 않는 것이다.
즉, '==='는 'false'으로 반환하고, '=='는 'true'로 반환한다.
🥕 0값은 false와 동일하므로 true를 출력한다.
0 == false
// true 출력
🥕 0의 type은 "number"이고 false의 type은 "boolean" , 따라서 두 피연산자의 자료형이 다르기 때문에 false를 출력한다.
0 === false
// false 출력
🥕 두 피연산자의 "값"은 동일하기 때문에 ture를 출력한다.
2 == "2"
// true 출력
🥕 두 피연산자의 자료형이 다르기 때문에 false를 츌력한다.
2 === "2"
// false 출력
🥕 "값"이 다르지 않음으로 true를 출력한다.
2 != "2"
// false 출력
🥕 두 피연산자의 자료형이 다른것이 맞기 때문에 ture를 츌력한다.
2 !== "2"
// true 출력
➡️ 유형 변환 비교와 엄격한 비교의 "값"과 "자료형"의 다름을 boolean 형식으로 반환한다.
변수를 비교하거나 어떤 비교를 위해 항상 '===' 연산자를 사용 할 것을 권장한다.
최대한 '==' 연산자를 사용하지 않도록 하고,
대신 직접 자료형을 변환하여 코드 가독성을 높이도록 하자!