power-girl0-0

비교 본문

언어/Javascript

비교

power-girl0-0 2021. 2. 4. 17:57
728x90

생활코딩 javascript를 참고하여 공부하였습니다.

스스로 공부한 것을 정리하고 복습하기 위한 목적으로 작성하였습니다.

( 출처 :  https://opentutorials.org/course/743)


 연산자 

연산자는 '어떤 작업을 컴퓨터에게 지시하기 위한 기호'이다.

 

예제로 a=1을 들어보자.

위 그림과 같이, 연산자 중 대입 연산자를 사용하여 변수 a에 1을 대입하는 것이다.

즉, 연산자를 이용하여 컴퓨터에게 값 대입에 대한 작업을 지시할 수 있었다.

 

간단하게 연산자에 대해서 알아봤으면, 이제 본 글에서는 비교 연산자에 대해서 알아볼 예정이다.

 비교 연산자 

비교 연산자는 우항과 좌항이 있을 때 값이 같은지, 다른지, 큰지, 작은지를 구분하는 것을 의미한다.

 

또한, 비교 연산자를 이용하여 나온 결과는 True(참)나 False(거짓)이다.

True와 False는 Boolean(블린)이라고 블리는 데이터 형식이다.

 ==  ( 동등 연산자,  equal operator ) 

좌항과 우항을 비교해서 서로 값이 같다면 true, 다르면 false가 된다.

여기서 주의할 점은 =가 하나이면 대입연산자이기 때문에 전혀 다른 기능을 수행하는 것이므로, ==임을 기억해야 한다.

 

아래 예제를 통해서 좀 더 쉽게 이해할 수 있다.

 === ( 일치 연산자,  Strict equal operator ) 

=== 는 엄격한 일치 연산자이다.

좌항과 우항이 정확하게 같을 때 true, 다르면 false가 된다.

 

예제를 통해서 좀 더 자세히 알아보자.

위 예제와 같이 숫자 1과 문자 1을 비교하였을 때 ==는 true가 출력되고, ===는 false가 출력된다.

 

즉, === 는 두개의 정보가 같을 뿐만 아니라 데이터 타입도 같아야 true가 출력된다.

      == 는 두 개의 정보가 같기만 하면, 데이터 타입이 달라도 자바스크립트에서는 true를 출력한다.

 == ( 동등 연산자 ) 와   === ( 일치연산자 )에 대한 예제 

1. 첫번째 예제

undefined와 null은 값이 없다는 의미의 데이터 형이다.

undefined는 정의를 하지 않았다는 뜻이고, null은 값이 없다는 뜻이다.

 

따라서, 연산자를 이용해서 비교해보면 아래와 같다.

※ 참고
( 자료형 : 값 )

Boolean : True, False
Number : ... -2, -1, 0, 1, 2 ...
String : "a", "abc", "bbb" ....
undefined : undefined
null : null

2. 두번째 예제

NaN은 0/0(0을 0으로 나눴을 때)과 같은 연산의 결과로 만들어지는 특수한 데이터 형인데 숫자가 아니라는 뜻이다. 즉,NaN은 계산할 수 없음이라는 뜻이다.

 

따라서 == 는 예외적인 상황을 다 알아야 이해하므로, 둘다 정확히 맞아야 하는 === 사용하는 것을 추천한다.

 

좀 더 확실한 비교방법을 알고 싶으면, 아래 주소를 참고하면 된다.

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

 

 != ( 부정 ) 

'같다'의 부정은 '같지 않다'와 같이 ==의 정반대 결과 를 보여준다.

 !== 

===의 정반대 결과 를 보여준다.

 > 

좌항이 우항보다 크다면 true, 그렇지 않다면 false를 보여준다.

'<'는 반대의 의미로 언급에서 생략하도록 하겠다.

 

 >= 

좌항이 우항보다 크거나 같으면 true, 다르면 false를 보여준다.

 

'<='는 반대의 의미로 언급에서 생략하도록 하겠다.

728x90

'언어 > Javascript' 카테고리의 다른 글

prompt & 조건문 활용 예제  (0) 2021.02.04
조건문  (0) 2021.02.04
주석 & 줄바꿈과 여백  (0) 2021.02.04
변수 ( Variable )  (0) 2021.02.04
숫자와 문자  (0) 2021.02.04
Comments