JavaScript 2.8

1 minute read

기본 연산자와 수학

용어 : 단항, 이항, 피연산자

  • 피연산자 : 연산자가 연산을 수행하는 대상. 피연산자는 인수라는 용어로 불리기도 한다.
  • 피연산자를 하나만 받는 연산자는 단항 연산자라고 부른다. 피연산자의 부호를 뒤집는 단항 마이너스 연산자는 단항 연산자의 대표적인 예이다.
  • 두 개의 피연산자를 받는 연산자는 이항 연산자라고 부른다. 마이너스 연산자는 이항 연산자로 쓸 수도 있다.

수학

  • 자바 스크립트에서 지원하는 수학 연산자는 다음과 같다
    • 덧셈 +
    • 뺄셈 -
    • 곱셈 *
    • 나눗셈 /
    • 나머지 %
    • 거듭제곱 **

이항 연산자 + 와 문자열 연결

  • 덧셈 연산자는 대개 숫자를 더한 값을 반환한다
  • 이항 연산자의 피연산자가 문자열일 경우 문자열을 병합한다.

단항 연산자 + 와 숫자형으로의 변환

  • 피연산자가 숫자가 아닌 경우엔 숫자형으로의 변환이 일어난다.
  • Number(…)와 동일한 일을 할 수 있게 해준다.

연산자 우선순위

  • 하나의 표현식에 둘 이상의 연산자가 있는 경우, 실행 순서는 연산자의 우선 순위에 의해 결졍된다.

할당 연산자

  • 무언가를 할당할 때 쓰이는 = 도 연산자이다.
  • 값을 반환할 때 사용된다.
  • 할당 연산자는 여러개를 연결할 수도 있다.(체이닝)
  • +=, -= 와 같은 것은 복합 할당 연산자라고 한다.

증가, 감소 연산자

  • ++ 증가 연산자는 변수를 1 증가시킨다.
  • – 감소 연산자는 변수를 1 감소시킨다.
  • 증가, 감소 연산자는 변수에만 쓸 수 있다.
  • 증가, 감소 연산자는 변수 앞이나 뒤에 올 수 있다.
    • 뒤에 올 때는 후위형이라고 한다.
      • 값을 증가시키지만 증가 전의 기존 값을 사용하려면 후위형 증가 연산자를 사용한다.
    • 앞에 올 때는 전위형이라고 한다.
      • 값을 증가시키고 난 후 증가한 값을 바로 사용하려면 전위형 증가 연산자를 사용한다.
// 전위형
let counter = 1;
let a = ++counter; // (*)

alert(a); // 2

// 후위형
let counter = 1;
let a = counter++; // (*) ++counter를 counter++로 바꿈

alert(a); // 1

비트 연산자

  • 인수를 32비트 정수로 변환하여 이진 연산을 수행한다.
  • 비트 AND ( & )
  • 비트 OR ( )
  • 비트 XOR ( ^ )
  • 비트 NOT ( ~ )
  • 왼쪽 시프트(LEFT SHIFT) ( « )
  • 오른쪽 시프트(RIGHT SHIFT) ( » )
  • 부호 없는 오른쪽 시프트(ZERO-FILL RIGHT SHIFT) ( »> )
  • MDN의 비트 연산자 문서를 추천한다(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators)

쉼표 연산자

  • 코드를 짧게 쓰려는 의도로 가끔 사용된다.
  • 쉼표 연산자는 여러 표현식을 코드 한 줄에서 평가할 수 있게 해준다.
  • 이때 표현식 각각이 모두 평가되지만, 마지막 표현식의 평가 결과만 반환된다.
let a = (1 + 2, 3 + 4);

alert( a ); // 7 (3 + 4의 결과)