개발 지식

[개발 지식] 연산자 "=="와 "==="의 차이 | 민민의 하드디스크 - 티스토리

민민2 2023. 5. 9. 08:50
728x90
반응형

프로그래밍 언어에서 사용되는 동등 연산자 "= ="


우리가 흔히 아는 비교연산자 "=="(동등 연산자)는 

두 피연산자가 값이 같은지를 비교하여 true나 false를 반환하게 됩니다.

그러면 "==="는 어떨 때 쓰일까요?


==와 ===는 프로그래밍에서 사용되는 비교 연산자입니다. 일반적으로 이러한 연산자는 두 개의 값이 동일한지를 확인하는 데 사용됩니다. 그러나 사용되는 프로그래밍 언어에 따라 이 연산자들의 동작 방식이 다를 수 있습니다.

"=="는 동등 비교 연산자로, 비교하려는 두 값이 서로 동등한지를 확인합니다. 이 연산자는 값을 비교할 때 데이터 형식이 다른 경우에도 암묵적 형변환을 수행하여 값이 동일한지를 확인합니다. 예를 들어, JavaScript에서 1과 "1"을 비교하면 "=="는 두 값을 동등하다고 판단합니다.

"==="는 일치 비교 연산자로, 비교하려는 두 값이 정확하게 동일한지를 확인합니다. 이 연산자는 값의 동등성 뿐만 아니라 데이터 형식까지 비교합니다. 따라서, 비교하려는 값의 데이터 형식이 다른 경우에는 일치하지 않다고 판단합니다. 예를 들어, JavaScript에서 1과 "1"을 비교하면 "==="는 두 값이 서로 다르다고 판단합니다.

728x90

JavaScript에서의 코드 예시

console.log(1 == "1");   // true
console.log(1 === "1");  // false

위의 코드에서 첫 번째 비교에서는 "==" 연산자를 사용하여 1과 "1"이 동등하다고 판단합니다.

데이터 타입은 다르지만, 자바스크립트로 문자 1을 숫자로 타입 변환하여 비교하게 됩니다.

두 번째 비교에서는 "===" 연산자를 사용하여 1과 "1"이 동일하지 않다고 판단합니다.

 

차이

1. 값과 데이터 형식의 비교

"==" 연산자는 값의 동등성을 확인하기 위해 데이터 형식을 암묵적으로 변환합니다. 따라서, 비교하려는 값의 데이터 형식이 다른 경우에도 값이 동등하다고 판단할 수 있습니다. 반면, "===" 연산자는 값을 비교할 때 데이터 형식까지 일치하는지 확인합니다. 따라서, 비교하려는 값의 데이터 형식이 다르면 값을 동일하지 않다고 판단합니다.

2. 사용하는 프로그래밍 언어에 따른 동작

"=="와 "===" 연산자의 동작 방식은 프로그래밍 언어마다 다를 수 있습니다. 언어마다 연산자의 동작 방식이 명확하게 정의되어 있고 일관성 있게 동작하는 경우도 있지만, 어떤 언어에서는 미묘한 차이가 있을 수 있습니다. 따라서, 언어마다 이러한 연산자의 동작 방식을 이해하고 사용하는 것이 중요합니다.

728x90
반응형