Frontend/javaScript

동등비교(==), 동일비교(===)

dddzr 2023. 6. 7. 13:16

JavaScript에서 동등 비교(==)와 동일 비교(===)는 값의 비교를 수행하는 두 가지 비교 연산자입니다. 이 두 연산자는 값을 비교하는 방식에서 차이가 있습니다.

동등 비교 (==):
동등 비교(==)는 두 개의 피연산자가 같은 값을 가지는지를 비교합니다. 동등 비교는 값이 같은지 여부를 확인하기 전에, 필요에 따라 타입 간의 암시적인 타입 변환을 수행합니다. 이러한 타입 변환으로 인해 서로 다른 데이터 유형을 비교할 수 있습니다. 예를 들어, 숫자와 문자열을 비교하면 JavaScript는 문자열을 숫자로 변환하여 비교합니다.

10 == "10" // true
true == 1 // true
null == undefined // true
false == "" // true

 

동일 비교 (===):
동일 비교(===)는 두 개의 피연산자가 값과 데이터 유형 모두 일치하는지를 비교합니다. 동일 비교는 타입 변환을 수행하지 않으며, 엄격한 비교를 수행합니다. 따라서 값과 데이터 유형이 동일해야만 true를 반환합니다.

10 === "10" // false
true === 1 // false
null === undefined // false
flase === "" //false

 

동등 비교(==)는 값의 동등성을 확인할 때 타입 간의 변환을 허용하며, 동일 비교(===)는 값의 일치성과 데이터 유형의 일치성을 확인합니다. 일반적으로 JavaScript에서는 동일 비교(===)를 권장합니다. 왜냐하면 동등 비교(==)는 예기치 않은 타입 변환이 발생할 수 있어서 의도하지 않은 결과를 초래할 수 있기 때문입니다. 따라서 동등 비교 대신 동일 비교를 사용하는 것이 좋습니다.