본문 바로가기
Javascript

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

by Dokon Jang 2023. 10. 25.
반응형

최근 개발하면서 프로그램에 버그가 발생하였습니다.
버그는 자바스크립트로 아래와 같이 처리 했는데, if문이 참이 되어 발생한 것이었습니다.
그래서 === 비교 연산자를 사용하여 버그를 수정하였습니다.

var a = 0;
var b = "";

if(a == b){ // true
	...
}

 

==와 === 비교 연산자의 차이점을 알아야 할 것 같습니다.

== 연산자는 값만 비교하고, === 연산자는 값과 타입을 함께 비교하게 됩니다.
즉 1 == "1" 는 true이고, 1 === "1"은 false가 된다는 것입니다.

 

간단하 예제로 확인해보겠습니다.

 

  • 숫자와 문자 비교
console.log(1 == "1");	// true
console.log(1 ==="1");	// false

 

  • 숫자와 참거짓 비교
console.log(1 == true);		// true
console.log(1 === true);	// false

console.log(0 == false);	// true
console.log(0 === false);	// false

 

  • 숫자 0과 문자 "0" or "" 비교
console.log(0 == "0");		// true
console.log(0 ==="0");	// false

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

 

  • null과 undefined 비교
console.log(null == undefined);		// true
console.log(null === undefined);	// false
반응형

댓글