너무 쉽게 정리하신글이 있어 그글이랑 똑같이 공부햇습니다.
어떻게 보면 수학적인 개념에서는 굉장히 쉬운 개념이지만, 컴퓨터 언어인 자바스크립트에서는 '='은 같다의 의미가 아니라 할당의 의미를 가진다.
그렇다면 비교 연산자는 어떤게 있을까?
자바스크립트에서 기본적으로 비교연산자는 좌항과 우항을 비교하여 boolean 값으로 반환한다. 'True'와 'False'로만 반환이 된다.
한.방.이.해
동등 연산자 '=='는 피연산자들이 서로 타입이 다른경우 같은 타입으로 반환을 한다.
즉, 타입은 같다고 보고 값만 검사하는 경우이다.
'1'은 String(문자열)이고, 1은 숫자(Number)이다. 둘은 타입이 다르지만 같은 타입으로 인식해서 true를 반환한다. 0도 숫자이고 false는 boolean인 서로 다른 타입인데 같은 타입으로 변환해서 true를 반환한 예시를 볼 수 있다.
일치 연산자 '===' 피연산자들이 서로 타입이 달라도 타입의 변환 없이 엄격하게 검사를 한다. 즉, 타입과 값 둘다 검사한다.
우의 예시를 들어서 이해해보자.
'1'은 String(문자열)이고, 1은 Number(숫자)이다. 둘은 타입이 다른데 결과값은 false라는 boolean값을 반환했다. 결국 타입까지 엄격하게 검사해서 다르다는 결과값이 도출된 것이다.
1과 1은 타입과 값이 모두 같기 때문에 true라는 값이 나왔다.