==, === 차이점 ?!

정희준·2023년 3월 13일
0
post-thumbnail

🏷 알아볼 내용!

  • ==, === 차이점

오늘은 위 내용에 대해 정리해보는 시간을 가져보도록 하자! 오늘도 열공!!🔥🔥🔥

📌 ==, === 차이점

== , === 값을 비교하기 위해 자주 사용되는 두 비교연산자에 대해 알아보자

10 == 10	// true
10 === 10	// true
10 == '10'	// true
10 === '10'	// false

위 간략한 예시처럼 두 연산자 모두 값이 일치하면 true를 반환하며 일치하지 않을 시 false를 반환한다는 공통점을 갖고 있다.
그렇다면 어떠한 차이점이 존재하는지 알아보자

== 연산자는 두 피연산자의 값의 타입이 다를 경우 자동으로 일부 피연산자의 타입을 변환 후 값을 비교한다.
그러므로 숫자형 10과 문자형 10을 비교 시 true로 반환 되는것을 확인 할 수 있다.
하지만 === 연산자는 타입을 변환하지 않으므로 == 연산자에 비해 비교하는 방식이 엄격합니다.
즉 피연산자의 타입과 값이 모두 일치해야만 true를 반환합니다.

== 연산자는 값만 일치 한다면 true를 반환 느슨한 비교 연산자
=== 연산자는 값과 타입 모두 일치해야만 true를 반환 엄격한 비교 연산자

간단하게 ==, === 두 연산자의 차이점을 알아보았다 특이점에 대해서도 간략히 알아보도록 하자

/* == 연산자는 피연산자중에 boolean 값이 존재 시
 true는 1의 값으로 변환 false는 0의 값으로 변환 후 값을 비교한다 */
true == 1			// true
true == '1'			// true
true == 'true'		// false
false == 0			// true
/*null 과 undefined는 엄연히 다른 값이지만 == 연산자는 true를 반환한다*/
null == undefined	// true
/* === 연산자는 타입과 값 모두 일치해야만 true 반환*/
true === 1			// false
false === 0 		// false
/* == 연산자와 달리 엄격한 === 연산자는 null과 undefined 비교시 false 반환*/
null === undefined	// false
/* NaN 값은 자기 자신을 포함해 어떠한 값이랑 비교해도 일치하지 않는다 
비교 연산자 사용시 NaN 값에 주의하자*/
NaN === NaN			// false

자주 사용하는 비교 연산자인 만큼 차이점과 특이점에대해 꼭 알고 사용하자!


참조

https://developer-talk.tistory.com/184

profile
같이 일하고 싶은 사람이 되어보자! 다시 시작하는 개발 블로그.

0개의 댓글

관련 채용 정보