유정잉

자바스크립트 == 와 === 차이 본문

개발자 공부/✏️ 자바스크립트 공부

자바스크립트 == 와 === 차이

유정♡ 2025. 5. 8. 11:19

자바스크립트에서 ==랑 ===는 둘 다 "같다"를 비교하는 연산자지만 동작 방식이 다름 ! 

 

연산자 이름 비교 방식
== 동등 연산자 값만 비교 (타입은 자동 변환해서 비교함)
=== 일치 연산자 값과 타입 모두 비교 (엄격한 비교)

🔍 예제

🔸 == (느슨한 비교)

console.log(5 == "5");       // ✅ true (숫자 5와 문자열 "5"를 같은 값으로 취급)
console.log(false == 0);     // ✅ true (false는 숫자 0으로 변환돼 비교됨)
console.log(null == undefined); // ✅ true (자바스크립트만의 특이한 규칙)

🔸 === (엄격한 비교)

console.log(5 === "5");      // ❌ false (값은 같지만 타입이 다름)
console.log(false === 0);    // ❌ false (boolean vs number)
console.log(null === undefined); // ❌ false (타입 다름)

 

  • ==는 자동 형 변환 때문에 버그가 생기기 쉬워서 실무에서는 === 사용하는 걸 추천 
  • ===는 타입까지 똑같아야 true니까 비교가 더 안전하고 명확

✅ 정리


비교 == 결과 === 결과
5 == "5" true false
false == 0 true false
null == undefined true false
"abc" == "abc" true true
 

🧠 기억 꿀팁

  • ==는 느슨한 친구: "너 숫자든 문자든, 그냥 값만 같으면 OK!"
  • ===는 엄격한 친구: "값도 같고, 타입도 같아야 OK!"
728x90