Recent Posts
Recent Comments
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Today
Total
관리 메뉴

DH의 개발 공부로그

[Javascript] Javascript 비교 연산자에 대해서! 본문

JavaScript

[Javascript] Javascript 비교 연산자에 대해서!

DeveloperDH 2022. 6. 30. 23:31
728x90

비교 연산자

비교 연산자는 왼쪽의 피연산자를 기준으로 두개의 값을 비교하는 연산자입니다.
주로 조건문에서 많이 사용되며 결과 값은 true(1)와 false(2)로 출력합니다.
자바스크립트에서는 boolean을 넣지 않아도 자동으로 값을 변환해 연산을 해줍니다.

비교 연산자 종류

1. <

  • 왼쪽 피연산자가 오른쪽 피연산자 보다 작다
i = 5 < 4;// ~보다 작다. 거짓 false == 0 (boolean)

2. >

  • 왼쪽 피연산자가 오른쪽 피연산자 보다 크다
i = 5 > 4;// ~보다 크다. 참 true == 1

3. <=

  • 왼쪽 피연산자가 오른쪽 피연산자보다 작거나 같다
  • i = 5 <= 4;// ~작거나 같다 false

4. >=

  • 왼쪽 피연산자가 오른쪽 피연산자보다 크거나 같다
  • i = 5 >= 4;// ~크거나 같다 true

비교 연산자는 숫자에서만 사용되지 않고, 두 피연산자가 문자열이어도 비교가 가능합니다.

a = `hello` > `world`; // true
b = `apple` > `append`; // true
c = `bee` > `be`; // true

문자열의 비교에서는 두 문자열의 문자 하나하나의 알파벳 순서를 비교합니다.
우선 두 문자열의 첫 글자를 비교하고 첫 번째 문자열의 첫 글자가 다른 문자열의 첫 글자보다 크면(작으면),
첫 번째 문자열이 두 번째 문자열보다 크다고(작다고) 결론 내고 비교를 종료합니다.
하지만 두 문자열의 첫 글자가 같으면 두 번째 글자를 같은 방식으로 비교합니다.
이런식으로 글자 간 비교가 끝날 때까지 이 과정을 반복합니다.
비교가 종료되었고 문자열의 길이도 같다면 두 문자열은 동일하다고 결론 냅니다.
비교가 종료되었지만 두 문자열의 길이가 다르면 길이가 긴 문자열이 더 크다고 결론 냅니다.

정확히는 유니코드 순으로 비교한다고 합니다.

5. ==

  • 동등 연산자
  • 왼쪽 피연산자와 오른쪽 피연산자가 같다.
  • 등호 =가 두개가 나오는 것에 유의해야하며, a = b와 같이 등호가 하나만 있을 경우는 할당을 의미합니다.
a = 5 == 4;// 같다 false
b = 1 == true;// true
c = 0 == false;// true
d = `345` == 345;// true 숫자형 문자열은 자동 변환되어 비교

6. !=

  • 부등 연산자
  • 왼쪽 피연산자가 오른쪽 피연산자와 같지 않다.
  • i = 5 != 4;// 같지 않다 true

엄격한 비교연산자

7. ===

일치 연산자로 ==와 같이 두 피연산자가 같은지 비교하여주지만, 그 같음을 비교하는 기준이
==보다 ===이 더욱 엄격합니다.

x = `123` == 123; // true. 서로의 값이 같으므로 자동으로 타입을 변환하여 비교
y = `123` === 123; // false. 서로의 값이 같지만 타입이 다르므로 false

동등 연산자인 ==은 위에 코드에서 보다싶이 문자열과 숫자의 비교에서 값이 같으므로,
자동으로 변환하여 비교하여 true 값을 반환하지만
일치 연산자인 =====보다 엄격한 기준으로 비교를 하여 서로의 값은 같아도,
데이터타입이 다르기 때문에 false 값을 반환하게 됩니다.

8. !==

불일치 연산자로 일치 연산자와 마찬가지로 !=보다 더욱 엄격한 비교를 하는 연산자 입니다.

x = `123` != 123; // false. 타입은 다르지만 서로의 값이 같으므로 false 반환
y = `123` !== 123; // true. 값은 같지만 타입이 다르기 때문에 ture

null과 undefined 비교하기

null이나 undefined를 다른 값과 비교할 땐 예상치 않은 일들이 발생합니다.

일치 연산자 ===를 사용하여 null과 undefined를 비교

alert( null === undefined ); // false 두 값의 타입이 다르기 때문에 일치 비교 시 거짓이 반환됩니다.

동등 연산자 ==를 사용하여 null과 undefined를 비교

alert( null == undefined ); // null 과 undefined 끼리는 true

0과 null, undefined 비교하기

null과 undefined는 <,>을 만나면 숫자형으로 변환됩니다. null은 0, undefined는 NaN으로 변합니다.

null과 0을 비교하기.

alert( null > 0 ); // false.null(0) > 0 이므로 false
alert( null == 0 ); // false. <, > 연산자가 따로 없을때는 null은 형을 변환하지 않기 때문에 false
alert( null >= 0 ); // true. null(0)이 0보다 크거나 같기때문에 true

undefined와 0을 비교하기.

alert( undefined > 0 ); // false
alert( undefined < 0 ); // false
alert( undefined == 0 ); // false

1,2 같은 경우는 undefined가 NaN으로 변환되기 때문에 false 값을 반환합니다.

728x90
Comments