JS - 비교 연산자

가가·2020년 9월 23일
0

js

목록 보기
8/11
post-thumbnail

비교연산자

  • 보다 큼, 작음 : a>b, a<b.
  • 보다 크거나, 작거나 같음 : a>=b, a<=b.
  • 같음(동등): a==b. 등호 = 가 두개 연달아 오는 것에 유의. a=b와 같이 등호가 하나일 때는 할당을 의미.
  • 같지 않음(부등): 같지 않음을 나타낼때 js에서는 a!=b로 나타냄.
    할당연산자 = 앞에 ! 를 붙인다.

불린형

다른 연산자와 마찬가지로 비교 연산자 역시 값을 반환. 반환값은 불린형

  • true가 반환되면, '긍정','참','사실'을 의미
  • false가 반환되면, '부정','거짓','사실이 아님' 을 의미.

문자열 비교

js는 사전순(정확히는 유니코드)으로 문자열 비교. 사전 뒤쪽의 문자열은 사전 앞쪽의 문자열 보다 크다고 판단.

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

다른 형을 가진 값 간의 비교

alert('2'>1); // true, 문자열 '2'가 숫자 2로 변환된 후 비교가 진행.
alert('01'==1); //true, 문자열 '01'이 숫자 1로 변환된후 비교가 진행.

불린값의 경우 true는 1, false는 0으로 변환된후 비교가 이뤄짐.

일치 연산자

alert(0==false); //true
//동등연산자 ==는 0과 false 구별 X

alert(''==false); //true
//피연산자가 빈 문자열 일때도 같은 문제 발생

일치연산자 === 를 사용하면 형변환 없이 값을 비교 할수있다.
자료형의 동등여부까지 검사하기 때문에, 피연산자 a와 b의 형이 다를경우 a===b는 false를 즉시 반환

null이나 undefined와 비교하기

alert(null===undefined); //false

일치 연산자 ===를 사용하여 비교하기

alert(null==undefined); //true

동등연산자 == 를 사용하여 비교하기

산술연산자나 기타비교연산자를 사용하여 비교하면 null은 0, undefined는 NaN으로 변한다.
그래서 null>=0 // true , undefined는 비교 불가

profile
주니어개발자

0개의 댓글