[JavaScript] 단항 연산자
Lpla
·2021. 3. 14. 19:00
용어 정리
단항 연산자를 공부하기 전, 용어를 먼저 이해해야 한다.
더하기, 빼기, 곱하기, 나누기 등을 ‘연산’이라고 한다.
자바스크립트에서 지원하는 연산자는 더하기(+), 빼기(-), 곱하기(*), 나누기(/), 나머지(%), 거듭제곱(**)이 있다.
피연산자는 연산자가 연산을 수행하는 대상이다. 1 + 2에서 1과 2가 피연산자이다.
그리고 1 + 2는 피연산자가 2개이므로 이항 연산자라고 한다.
한편 피연산자가 하나인 경우를 단항 연산자라고 한다.
단항 +연산자
값 앞에 + 기호를 작성하여 해당 값을 숫자(number) 타입으로 변환한다.
var Nine = '9';
console.log(typeof Nine); // string
console.log(typeof +Nine); // number
단항 연산자에서 +는 대상을 숫자 타입으로 바꾸지만 이항 연산자의 경우, 한쪽이라도 문자열이라면 문자열을 반환하므로 주의해야 한다.
var Nine = '9';
console.log(1 + Nine); // '19'
console.log(typeof(1 + Nine)); // string
단항 연산자로 +를 사용할 때 +기호를 더하기로 오해할 수 있으므로 Number 메서드를 사용하는 것이 가독성 면에서 뛰어나다.
하지만 코드가 더 길어지는 단점이 있으므로 상황에 맞게 사용하는 것이 좋다.
var Nine = '9';
console.log(typeof Nine); // string
console.log(typeof Number(Nine)); // number
단항 -연산자
값 앞에 - 기호를 작성하여 해당 값의 부호를 바꾼다.
var Nine = '9';
console.log(-Nine); // -9
console.log(6 + -Nine); // -3
console.log(6 - -Nine); // 15
단항 연산자는 덧셈, 뺄셈보다 우선순위가 높다.
따라서 단항 연산자와 덧셈이 만나면 단항 연산자부터 계산하고 더하기가 된다.
MDN의 연산자 우선순위표에서 우선순위를 살펴볼 수 있다.
알아두면 좋은 우선순위는 아래와 같다.
우선순위 | 연산자 유형 | 연산자 |
... | ... | ... |
17 | 단항 덧셈 | + |
17 | 단항 부정 | - |
16 | 거듭제곱 | ** |
15 | 곱셈 | * |
15 | 나눗셈 | / |
15 | 나머지 | % |
14 | 덧셈 | + |
14 | 뺄셈 | - |
... | ... | ... |
3 | 할당 | = |
... | ... | ... |