-
== 와 === 차이JavaScript 2022. 9. 23. 11:19
비교연산자 ==은 아래의 경우 문제가 될 가능성이 있다.
> '1'==1; < true > 1==true; < true > 1=='1'; < true
비교연산자 == 는 자료형이 다르면 형 변환을 한 후 비교하기 때문에 앞의 예제에서 모두 true가 출력된다.
자료형까지 같은지 비교하는 연산자는 === 이다.
값뿐만 아니라 자료형도 같은지 비교한다.
> '1'===1; < false > 1===true; < false > 1==='1'; < false
cf) NaN끼리 비교하기
NaN은 비교할 때 독특한 성질이 있다.
> NaN==NaN;
< false이는 숫자, 문자열, 불 값을 통틀어 false가 나오는 유일한 값이다.
<=나 >= 연산자를 써도 결과는 false만 나온다.
NaN은 비교 연산에서 false를 출력한다고 그냥 알아 두는 것으로.
다만, != 연산에서는 true를 출력한다.
'JavaScript' 카테고리의 다른 글
불변성에 대해2 : Nested Object, 방어적 복사, 불변객체생성 (0) 2022.09.23 불변성에 대해1 : 기본형 데이터와 참조형 데이터 (0) 2022.09.23 형변환 (type casting)1 : 문자열과 숫자 (1) 2022.09.23 느슨한 타입(loosely typed)의 동적(dynamic) 언어 (0) 2022.09.23 null과 undefined 비교 (0) 2022.09.23