개념
전위 vs 후위, 연산 vs 할당
→ 연산(증가/감소) 먼저인지 할당이 먼저인지?
실무
현업에서는 후위연산자를 많이 사용한다.
또한, 연산과 할당을 매번 신경 쓰는 게 번거로워
복합 대입 연산자(+=, -=)를 사용하여 의도치 않은 연산을 막을 수 있다.
공통점
변수에 단독적으로 쓰일 경우
동일 값 산출
var x = 10;
++x;
console.log(x);
//11
var x = 10;
x++;
console.log(x);
//11
차이점
다른 값에 할당을 할 경우(while 문의 조건, 함수의 인수),
연산자의 위치에 따라 값이 다름
연산(증감)이 먼저냐, 할당이 먼저냐?
- 전위연산자: 연산(증가/감소) 후 할당
- 후위연산자: 할당 후 연산(증가/감소)
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
*/
[출처 및 참고]
'공부 ✍' 카테고리의 다른 글
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 |