조건문 - 비교연산자

프로그래밍에서 비교란 주어진 값들이 같은지, 다른지, 큰지, 작은지를 구분하는 것을 의미합니다. 이 때 비교 연산자를 사용하는데 비교 연산자의 결과는 true나 false 중의 하나입니다. true는 비교 결과가 참이라는 의미이고, false는 거짓이라는 뜻입니다. true와 false는 블린(boolean)이라고 불리는 데이터 형식입니다.

==

동등 연산자로 좌항과 우항을 비교해서 서로 값이 같다면 true 다르다면 false가 됩니다. '='가 두개인 것을 주의합니다. '='가 하나인 것은 대입 연산자로 우항의 값을 좌항의 변수에 대입할 때 사용하는 것으로 의미가 완전히 다릅니다.

alert(1==2)             //false
alert(1==1)             //true
alert("one"=="two")     //false 
alert("one"=="one")     //true

===

일치 연산자로 === 좌항과 우항이 '정확'하게 같을 때 true 다르면 false가 됩니다. '==='는 숫자 1과 문자 1을 다르게 인식합니다. 반면에 '=='는 양쪽의 값을 같다고 판단합니다. 바로 이것이 '정확'의 의미입니다.

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

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

null과 undefined는 값이 없다는 의미의 데이터 형입니다. null은 값이 없음을 명시적으로 표시한 것이고, undefined는 그냥 값이 없는 상태라고 생각합니다.

NaN은 0/0과 같은 연산의 결과로 만들어지는 특수한 데이터 형인데 숫자가 아니라는 뜻입니다.

!= / !==

'!'는 부정을 의미합니다. '같다'의 부정은 '같지 않다'. 이것을 기호로는 '!='로 표시합니다.

'!=='는 '!='와 '=='의 관계와 같습니다. 정확하게 같지 않다는 의미입니다.

> / >=

좌항이 우항보다 크다면 참, 그렇지 않다면 거짓임을 알려주는 연산자다. '<'는 반대의 의미로 언급은 생략하겠습니다.

>=좌항이 우항보다 크거나 같다. '<='는 반대의 의미로 언급은 생략하겠습니다.

Last updated

Was this helpful?