티스토리 뷰
관계 연산자의 종류
- > 초과 연산자
- >= 이상 연산자
- < 미만 연산자
- <= 이하 연산자
비교 과정
- 비교 전에 피연산자를 원시값으로 변환한다.
- 피연산자의 유형이 "문자형"인 경우 사전순으로 비교하고, 유형이 서로 다른 경우 숫자로 변환한 후 비교한다.
- 단, NaN과의 비교는 항상 false를 반환한다.
유형이 같은 "문자형"을 비교하는 방법
문자 유형 비교시 *사전순으로 비교한다. (사전 뒤쪽의 문자가 큼)
*정확히는 사전순이 아니라 유니코드 순이다.
* 대문자보다 소문자가 더 크다.
'a' > 'b' //false
'Glow' > 'Glee' //true
'Bee' > 'Be' //true
'A' > 'a' //false
원리
- 각 문자열의 첫 글자를 비교한다.
- 첫번째 문자열의 첫 글자가 다른 문자열의 첫 글자보다 크면(작으면), 첫 번째 문자열이 두 번째 문자열보다 크다고(작다고) 결론 내고 비교를 종료한다.
- 두 문자열의 첫 글자가 같으면 두 번째 글자를 같은 방식으로 비교한다.
- 글자 간 비교가 끝날 때까지 이 과정을 반복한다.
- 비교가 종료되었고 문자열의 길이도 같다면 두 문자열은 동일하다고 결론 낸다. 비교가 종료되었지만 두 문자열의 길이가 다르면 길이가 긴 문자열이 더 크다고 결론 낸다.
유형이 서로 다른 것을 비교하는 방법
유형을 숫자형으로 바꿔서 비교한다.
'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
링크
TAG
- clientHeight
- @font-face
- 불일치 연산자
- innerHeight
- 동등 연산자
- outerHeight
- offsetHeight
- scrollHeight
- 점 표기법
- constructor
- 대괄포 표기법
- javascript class
- prototype 프로퍼티
- 일치 연산자
- scrollTop
- offsetTop
- 링크막기 #a링크막기
- clinetTop
- 부등 연산자
- property
- __proto__
- 객체의 프로퍼티
- 프로퍼티
- 동치 연산자
- [[Prototype]]
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함