[JavaScript] 비교 연산자

김터넷 ㅣ 2023. 3. 18. 00:32

728x90
반응형

연산자란???

 

컴퓨터에게 값에 대한 어떤 작업을 지시 하기 위한 기호이다.

 a = 1

 

비교 연산자는 말그대로 주어진 값들이 같은지, 다른지, 큰지, 작은지를 비교하는 연산자이다.

이때 비교 연산자의 결과는 ' true ' 아니면 ' false ' 둘 중 하나이다.

true는 참 false는 거짓이라는 뜻

false는 블린(boolean)이라고도 불리는 데이터 형식이다. 


==

동등 연산자로 좌항과 우항을 비교해서 서로의 값을 비교해서 'true'와 'false'를 출력한다.

' = '가 하나인 것은 대입 연산자이고 비교 연산자는 ' == ' 두개라는 점 기억하자

alert(1==2)  // false

alert(1==1) // true

alert("one"=="two")  // false

alert("one"=="one") //true


===

일치 연산자로 동등 연산자보다 더 '정확'하게 같을때 ' true '' false ' 가 출력 된다.

정확하다는 의미가 무슨 의미일까? 이제 중요한 내용이다.

alert(1 == '1');  // true

alert(1==='1');  //false

위의 결과를 보면 ' == ' 는 양쪽의 값을 같다고 판단하는데 ' === '는 다르다고 출력한다.

왜 그럴까?

 

이것이 바로 동등 연산자와 일치 연산자의 큰 차이인 '정확' 의 의미이다.

즉, ===는 서로 같은 수를 표현하고 있더라도 "데이터 형"같은 경우에만 같다고 판단 하기 때문이다.

 

아래의 사진을 보자.

출처:  http://dorey.github.io/JavaScript-Equality-Table/

동등 연산자

 

위 동등 연산자의 출력 값을 보면 좌측 상단부터 우측 하단으로 내려가는 대각선 방향을 제외하고는 중구난방이다. 이것은 정확하지 않다는걸 의미한다.

하지만 아래의 일치 연산자의 출력 값은 정확히 일치하는 대각선 방향의 값들만 참으로 출력이 된다.

이것이 의미하는 것은 동등 연산자보다 일치 연산자가 더 정확하게 ' true ' 와 ' false '를 출력하기 때문에

동등 연산자보다는 일치 연산자를 사용하는 것이 더 효율적이라는 것을 의미한다.

일치 연산자

 

 

반응형