본문 바로가기

공부 ✍

전위연산자와 후위연산자

개념

전위 vs 후위, 연산 vs 할당

→ 연산(증가/감소) 먼저인지 할당이 먼저인지? 


실무

현업에서는 후위연산자를 많이 사용한다.
또한, 연산과 할당을 매번 신경 쓰는 게 번거로워 

복합 대입 연산자(+=, -=)를 사용하여 의도치 않은 연산을 막을 수 있다.

 


공통점

변수에 단독적으로 쓰일 경우

동일 값 산출

var x = 10;
++x;

console.log(x);
//11
var x = 10;
x++;

console.log(x);
//11

차이점

다른 값에 할당을 할 경우(while 문의 조건, 함수의 인수),

연산자의 위치에 따라 값이 다름

 

 

연산(증감)이 먼저냐, 할당이 먼저냐?

  1. 전위연산자: 연산(증가/감소) 후 할당
  2. 후위연산자: 할당 후 연산(증가/감소)
var x = 10;
var result;

result = ++x;
console.log(result, x);

// 11 11
var x = 10;
var result;

result = x++;
console.log(result, x);

//10 11
var x = 10;
var result;

result = --x;
console.log(result, x);

// 9 9
var x = 10;
var result;

result = x--;
console.log(result, x);

//10 9

 


반복문(for, while)의  전위/후위연산자

for문

for문에서 x++와 ++x의 차이는 거의 없다.  (후위연산자로 많이 사용한다.)

 

x++를 쓰면 임시 변수가 하나 더 생성되고 ++x로 쓰면 임시 변수가 생성 되지 않기에

후위연산자가 더 효율적이지만 현재는 크게 의미가 없다.

 

for (x = 10; x < 15; x++) {
    console.log(x);
}
/*
10
11
12
13
14
*/
for (x = 10; x < 15; ++x) {
    console.log(x);
}
/*
10
11
12
13
14
*/

 

while 문

while 문은 연산(증가/감소)과 할당의 순서가 결과에 영향을 준다.

var x = 10;

while (++x < 15) {
    console.log(x);
}
/*
11
12
13
14
*/
var x = 10;

while (x++ < 15) {
    console.log(x);
}
/*
11
12
13
14
15
*/
var x = 10;

while (x < 15) {
    console.log(++x);
}
/*
11
12
13
14
15
*/
var x = 10;

while (x < 15) {
    console.log(x++);
}
/*
10
11
12
13
14
*/

 


[출처 및 참고]

https://velog.io/@taekwon/%EC%A0%84%EC%9C%84%EC%97%B0%EC%82%B0%EC%9E%90%EC%99%80-%ED%9B%84%EC%9C%84%EC%97%B0%EC%82%B0%EC%9E%90

'공부 ✍' 카테고리의 다른 글

null / undefined / undeclared  (0) 2022.10.17
[JavaScript] 반복문(for문)  (0) 2022.10.14
[스타트업] IR? EXIT?  (0) 2022.10.09
[JavaScript] reduce()  (0) 2022.10.06
반응형 모바일 우선 개발 방법  (2) 2022.09.30