[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의 연산자 우선순위표에서 우선순위를 살펴볼 수 있다.

 

연산자 우선순위 - JavaScript | MDN

연산자 우선순위 연산자 우선순위는 연산자를 실행하는 순서를 결정합니다. 우선순위가 높은 연산자가 먼저 실행됩니다. The source for this interactive example is stored in a GitHub repository. If you'd like to con

developer.mozilla.org

 

알아두면 좋은 우선순위는 아래와 같다.

우선순위 연산자 유형 연산자
... ... ...
17 단항 덧셈 +
17 단항 부정 -
16 거듭제곱 **
15 곱셈 *
15 나눗셈 /
15 나머지 %
14 덧셈 +
14 뺄셈 -
... ... ...
3 할당 =
... ... ...
반응형