[javascript] 기본연산자, 비교연산자

hana jeong·2022년 12월 3일
0

모던자바스크립트

목록 보기
4/15

1. 연산자

1) 피연산자

연산자가 연산을 수행하는 대상. 인수(argument)라고도 불림

  • 피연산자를 하나만 받는 연산자는 단항(unary)연산자라고 부름
    (예시: 피연산자의 부호를 뒤집는 단항 마이너스(-) 연산자)
  • 피연산자가 숫자가 아닌 경우 덧셈 연산자를 붙임-> 숫자형으로 변환이 일어남
let i = 1;
console.log(+i); // 1 숫자에 덧셈 연산자를 붙여도 영향 없음

let a = -6;
console.log(+a); // -6

//숫자가 아닌 피연산자에 덧셈 연산자를 붙이면 숫자형으로 변함

let p = true;
console.log(+p); //1

let q = false;
console.log(+q); //0

let w = null;
console.log(+w); //0

let e = "";
console.log(+e); //0

2) 이항 연산자

두 개의 피연산자를 받는 연산자

2. 비교 연산자

  • 비교 연산자도 불린형을 값으로 반환한다
alert( 5 > 1); //true
alert( 5 == 1); //false
alert( 5 != 1); //true

3. 문자열 비교

유니코드 순으로 문자열을 비교한다(사전 편집 순이라고도 함)
'사전'순으로 비교한다고 말을 하기도 하는데 사전 앞쪽의 문자열보다 뒤쪽의 문자열이 더 크다고 판단한다
또한 대소문자도 따지는 데, 대문자 'A'와 소문자 'a'를 비교하면 소문자 'a'가 더 크다
왜냐면 유니코드에선 소문자가 대문자보다 더 큰 인덱스를 갖기 때문이다

alert('H' > 'A'); // true
alert('Flesh' < 'Fresh'); // true

4. 다른 형을 가진 값 간의 비교

비교하려는 자료형이 다르면 자바스크립트는 이들을 숫자형으로 바꾼다

alert('5' > 1 ); // true 문자열 '5'가 숫자로 변환된 후 비교 함
alert('05' == 1 ); // true 문자열 '05'가 숫자로 변환된 후 비교 함

불린값의 경우 true는 1, false는 0으로 변환된 후 비교 함

console.log(true == 1); //true
console.log(false == 0); //true

일치연산자
동등연산자(==)는 0과 false를 구별하지 못한다

console.log( 0 == false ); //true
console.log( '' == false ); //true

그렇다면 어떻게 0과 false를 어떻게 구별할까?

일치연산자(===)를 사용하면 자료형의 동등 여부까지 검사하기 때문에
console.log( 0 === false ) // false를 반환함

profile
https://developer-hh.tistory.com 로 옮깁니다

0개의 댓글