9. 비교연산자
비교 연산자
비교연산자의 종류는 아래와 같다.
===, !==, <, >, <=, >=, !
비교 연산자도 연산자이기 때문에 값을 반화한다.
반환 값은 boolean Type이다.
- true
- false
console.log(10 > 0); // true console.log(10 === 9); // false console.log(!10 < 9); // true let result = 10 > 9; console.log(result) // true;
문자열 비교
자바스크립트의 문자열은 비교를 할 수 있다.
그 기준은 유니코드 순서이다. 즉
a -> z순서
A -> Z순서로 크기가 커진다.
문자를 유니코드로 변환시 어떠한 값으로 나오는데
알파벳이나 문자는 이 유니코드가 뒤로갈수록 커진다.
console.log('g' > 'a'); // true console.log('hello' > 'hella'); // true console.log('Banana' > 'Banan'); // true
위의 코드를 본다면
'g'는 'a'보다 알파벳 순서로 뒤에 있으니 보다 큰 문자이다.
'hello'와 'hella'는 한글자씩 비교를 한다.
1 -> 'h','h'
2 -> 'e','e'
...
5 -> 'o','a'
'o'는 'a'보다 큰 문자여서 true!
마지막으로 길이가 다른 문자는 하나씩 비교해서 하나의 문자가
끝날때까지 비교를 한다면 길이가 더 긴 문자가 큰 문자가 된다.
물론 중간에 유니코드로 비교시 더 큰 문자가 존재한다면 길이와 상관없이 사전적으로 큰 문자가 크다고 나오게 된다.
그래서 3번은 true!
일치 연산자
우리가 보통 같다라는 의미를 가질때는 '='이라는 기호를 사용한다.
하지만 자바스크립트에서 '='은 할당의 의미를 가지는데...
그럼 일치비교를 하는 연산자는 무엇인가?
일치 -> ===
불일치 -> !==
console.log('a' === 'a') //true console.log('3' === 3) // false;
위와 같이 타입과 그 값이 같아야지 true를 반환한다.
그리고 일치 불일치와 비슷한 연산자가 존재하는데
'==' 와 '!='이다.
이 연산자는 서로의 타입을 무시한채 피연산자들을 숫자형으로 변환하여 비교한다.
console.log('3' == 3); // true console.log('' == false); // true
위와 같이 피연산자들을 숫자형으로 바꾸어 연산하기때문에
'3'은 3으로 변환하여 3 == 3으로 되고,
'' 와 false는 각각 0으로 변환되어 0 == 0이 되어버린다.
이러한 특성을 잘 이용하여 두가지 비교를 구분하여 사용해야될것같다.
Author And Source
이 문제에 관하여(9. 비교연산자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wldns12378/9.-비교연산자저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)