JavaScript/Javascript

비교 연산자

MoZZANG 2022. 2. 14. 14:57

우리가 보통 흔히 부르는 '~는'(=), 프로그래밍에서는 종류가 3가지가 있다.

 

첫번째)  = : 대입 연산자  / 변수에서 설명했었던 녀석이다. '='를 기준으로 오른쪽의 데이터를 왼쪽의 변수에 대입한다.

 

두번째)  == : 동등 연산자 / 좌항과 우항을 비교해서 서로 값이 같다면 true, 다르다면 false가 된다.

 

세번째)  === : 일치 연산자 / 좌항과 우항을 비교해서 서로 값이 '정확'하게 같다면 true, 다르다면 false가 된다.

 

 

자 여기서 조금 힘을 줘서 이야기 할 것은 ==과 ===이다.

둘 다 좌항과 우항의 값이 서로 같다면 true, 다르다면 false이다. 하지만 여기에는 작은 차이지만 중요한 개념이 있다!

 

 

아래의 예시를 보면서 이야기 해보자.

▲ ==과 ===은 둘 다 좌항과 우항이 같으면 true가 되어야 하는데 왜 다른 것일까?

 

==는 曰 : "숫자 1과 문자 1은 어쨋든 1이니까 같지~" 라고 생각하는 것이다. 빡빡하게 보지 않는 것이다.

=== 曰 : "숫자 1과 문자 1은 같은 1이라고 볼 수 있지, 하지만 숫자 1은 number이고 문자1은 string이니까 다르지~" 

 

즉! ==(동등 연산자)는 데이터 내용이 같은지만을 보고 판단하는 것이고,

     ===(일치 연산자)는 데이터의 내용데이터의 종류까지 보고 판단하는 strict(엄격한) equal(동등) operator(연산자) 인 것이다.

 

(출처 : https://dorey.github.io/JavaScript-Equality-Table/)

▲ ==을 썼을 때 녹색부분들은 다 같다고 봐준다.

 

▼ 하지만 ===은 엄격하게 보기 때문에 녹색부분이 적은 것을 볼 수 있다.

 

이러한 특징들 때문에 실제 개발을 할 때는 ==는 사용하지말고 ===을 사용하는 것을 매우 권장하는 것이다.

 

작은 프로그램이라면 에러가 났을 때 그때그때 찾아서 하면 된다고 생각할 수 있지만,

 

프로그램이 커지면 커질수록 true와 false 때문에 조그만 에러가 생기게 되면 프로그램 전체에 문제가 생길 수 있는 것이다. 그러니까 우리같은 초심자 또는 주니어들은 처음부터 ===을 사용하는 습관을 들이도록 하자!! 

 

 

'JavaScript > Javascript' 카테고리의 다른 글

조건문(part. 2)  (0) 2022.02.14
조건문(part.1)  (0) 2022.02.14
변수(Variable)  (0) 2022.02.14
숫자와 문자(문자의 표현)  (0) 2022.02.14
숫자와 문자(수의 연산)  (0) 2022.02.14