JavaScript 2.8
기본 연산자와 수학
용어 : 단항, 이항, 피연산자
- 피연산자 : 연산자가 연산을 수행하는 대상. 피연산자는 인수라는 용어로 불리기도 한다.
- 피연산자를 하나만 받는 연산자는 단항 연산자라고 부른다. 피연산자의 부호를 뒤집는 단항 마이너스 연산자는 단항 연산자의 대표적인 예이다.
- 두 개의 피연산자를 받는 연산자는 이항 연산자라고 부른다. 마이너스 연산자는 이항 연산자로 쓸 수도 있다.
수학
- 자바 스크립트에서 지원하는 수학 연산자는 다음과 같다
- 덧셈 +
- 뺄셈 -
- 곱셈 *
- 나눗셈 /
- 나머지 %
- 거듭제곱 **
이항 연산자 + 와 문자열 연결
- 덧셈 연산자는 대개 숫자를 더한 값을 반환한다
- 이항 연산자의 피연산자가 문자열일 경우 문자열을 병합한다.
단항 연산자 + 와 숫자형으로의 변환
- 피연산자가 숫자가 아닌 경우엔 숫자형으로의 변환이 일어난다.
- 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의 결과)