티스토리 뷰

이론/JS

[JS] 관계 연산자

millfeel1298 2021. 1. 4. 02:21

관계 연산자의 종류

  1. > 초과 연산자
  2. >= 이상 연산자
  3. < 미만 연산자
  4. <= 이하 연산자

비교 과정

  1. 비교 전에 피연산자를 원시값으로 변환한다.
  2. 피연산자의 유형이 "문자형"인 경우 사전순으로 비교하고, 유형이 서로 다른 경우 숫자로 변환한 후 비교한다.
  3. 단, NaN과의 비교는 항상 false를 반환한다.

유형이 같은 "문자형"을 비교하는 방법

문자 유형 비교시 *사전순으로 비교한다. (사전 뒤쪽의 문자가 큼)

*정확히는 사전순이 아니라 유니코드 순이다.

* 대문자보다 소문자가 더 크다.

'a' > 'b' //false
'Glow' > 'Glee' //true
'Bee' > 'Be' //true
'A' > 'a' //false

원리

  1. 각 문자열의 첫 글자를 비교한다.
  2. 첫번째 문자열의 첫 글자가 다른 문자열의 첫 글자보다 크면(작으면), 첫 번째 문자열이 두 번째 문자열보다 크다고(작다고) 결론 내고 비교를 종료한다.
  3. 두 문자열의 첫 글자가 같으면 두 번째 글자를 같은 방식으로 비교한다.
  4. 글자 간 비교가 끝날 때까지 이 과정을 반복한다.
  5. 비교가 종료되었고 문자열의 길이도 같다면 두 문자열은 동일하다고 결론 낸다. 비교가 종료되었지만 두 문자열의 길이가 다르면 길이가 긴 문자열이 더 크다고 결론 낸다.

유형이 서로 다른 것을 비교하는 방법

유형을 숫자형으로 바꿔서 비교한다.

'2' > 1;
//Number('2') > 1 => true

false < 1;
//Number(false) < 1 => true

null < 2;
//Number(null) < 1 => true

undefined < 2;
//Number(undefined) < 2 => false
//Number(undefined)는 NaN이다.

NaN과의 비교는 항상 false를 반환한다.

NaN <= "undefined"; //false

[공부 좌표]

비교 연산자

 

[참고]

비교 연산자의 구성

동치 연산자

'이론 > JS' 카테고리의 다른 글

[JS] 연산자 우선 순위  (0) 2021.01.05
[JS] Node, Element를 선택하는 방법  (0) 2021.01.04
[JS] 비교 연산자  (0) 2021.01.04
[JS] 동치 연산자  (0) 2021.01.04
[JS] 객체의 참조  (0) 2021.01.03
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함