[JS Basic] 연산자

재오·2022년 9월 14일
1

JavaScript

목록 보기
4/48
post-thumbnail

산술 연산자

- 이항 산술 연산자

  • 2개의 피연산자를 산술 연산하여 숫자 값을 만든다.
  • 덧셈, 뺄셈, 나눗셈, 곱셈, 나머지 계산이 모두 이항 산술 연산자 이다.
  • 부수효과(피연산자의 값이 바뀌는 경우)는 나타나지 않는다.

- 단항 산술 연산자

  • 1개의 피연산자를 산술 연산하여 숫자 값을 만든다.
  • ++ : 증가 (부수효과 O)
  • -- : 감소 (부수효과 O)
  • +. : 어떠한 효과도 없다 (부수효과 X)
  • -. : 양수를 음수로, 음수를 양수로 값을 반환한다 (부수효과 X)

피연산자 앞에 위치한 증가/감소 연산자는 먼저 피연산자의 값을 증가/감소 시킨 후 다른 연산
피연산자 뒤에 위치한 증가/감소 연산자는 먼저 다른 연산을 수행 후 피연산자의 값을 증가/감소

+,- 단항연산자는 숫자 타입이 아닌 피연산자를 숫자타입으로 변환하여 반환한다

var x = true;
console.log(+x) // 1

var x = "1";
console.log(-x) // -1

var x = "Hello";
console.log(+x) // NaN

- 문자열 연결 연산자

  • +연산자는 피연산자 중 하나 이상이 문자열인 경우 문자열 연결 연산자로 동작한다.
'1' + 2; // 12
1 + true; // 2

자바스크립트 엔진에 의해 암묵적으로 타입이 자동변화되기도 한다
이를 암묵적 타입 변환, 타입 강제 변환이라고 한다

할당 연산자

  • 우항에 있는 피연산자의 평가 결과를 좌항에 있는 변수에 할당한다.
  • 종류: '=' '+=' '-=' '*=' '/='
  • 모두 부수 효과가 있다

비교 연산자

- 동등/일치 비교 연산자

  • 동등 비교 연산자(==, !=)
    좌항과 우항의 피연산자를 비교할 때 먼저 암묵적 타입 변환을 통해 타입을 일치 시킨 후 비교
  • 일치 비교 연산자(===, !==)
    좌항과 우항의 피연산자가 타입도 같고 값도 일치한 경우에만 true를 반환한다

    NaN === NaN; // false
    Object.is(NaN, NaN); // true
    Number.isNaN(NaN); // true
    0 === -0; // true
    Object.is(0, -0); // false

- 대소 관계 비교 연산자

  • < > >= <= 을 이용하여 불리안 값 반환

삼항 조건 연산자

  • 조건식 ? 조건식이 true일 때 반환값 : 조건식이 false일 때 반환값
  • 가독성이 좋지만 if / else를 쓸 때에는 써야 좋음

논리 연산자

  • || (논리합) &&(논리곱) ! (부정)
  • 부수효과는 없다

    ! 연산자는 항상 불리안 값을 반환한다 = 암묵적 타입 변환을 통해서라도 반환
    || && 은 반환값이 불리안 값이 아닐 수도 있다

typeof 연산자

  • 가장 중요한 것은 null의 type은 "object"로 나타난다
  • 선언하지 않은 식별자를 typeof연산자로 연산하면 undefined 반환한다
var foo = null;
typeof foo === null; // false

typeof undeclared; // undefined

연산자의 부수효과

  • 할당연산자, 증가/감소 연산자, delete 연산자 뿐이다
profile
블로그 이전했습니다

0개의 댓글