[javascript] 비교 연산자의 동등 연산

자바스크립트에서는 값의 동등 여부를 비교할 때 동등 연산자를 사용합니다. 동등 연산자는 == 기호로 표현되며, 두 값이 동등한지를 비교합니다.

동등 연산자(==) vs 일치 연산자(===)

동등 연산자(==)는 값이 같은지를 비교하고, 일치 연산자(===)는 값과 데이터 타입이 모두 같은지를 비교합니다.

예를 들어, 동등 연산자를 사용하여 숫자 3과 문자열 ‘3’을 비교하면 true를 반환하지만, 일치 연산자를 사용하면 false를 반환합니다.

console.log(3 == '3'); // true
console.log(3 === '3'); // false

동등 연산자의 동작 방식

동등 연산자는 비교하는 두 값의 데이터 타입이 다를 경우 타입 변환을 수행한 후에 비교합니다. 이때, 문자열과 숫자를 비교할 경우 자동으로 타입 변환이 일어나며, 비교 연산이 이루어집니다.

console.log(3 == '3'); // true, '3'이 숫자 3으로 타입 변환되어 비교됨
console.log(1 == true); // true, true가 1로 타입 변환되어 비교됨

동등 연산자를 사용할 때에는 타입 변환에 대해 주의해야 합니다. 두 값이 동일한 데이터 타입으로 비교하고자 할 때에는 일치 연산자(===)를 사용하여 엄격한 비교를 수행할 수 있습니다.

결론

동등 연산자(==)를 사용하여 두 값의 동등 여부를 비교할 때, 값의 데이터 타입 변환이 있음에 유의해야 합니다. 값을 엄격하게 비교하려면 일치 연산자(===)를 사용하여 데이터 타입까지 고려한 비교를 수행할 수 있습니다.

참고문헌: MDN Web Docs - Equality operator