01.04.2023
1. Temporary Variable
Temp 변수를 이용하여 Swap 구현
let a = 1;
let b = 2;
let temp;
temp = a;
a = b;
b = temp;
console.log(a); // => 2
console.log(b); // => 1
2. Destructuring assignment (구조 분해 할당)
원래 하던 Swap에서 동등 연산자를 기준으로 괄호를 추가해주면 된다.
let a = 1;
let b = 2;
[a, b] = [b, a];
console.log(a); // => 2
console.log(b); // => 1
꼭 양 변의 갯수가 맞지 않더라도 동작은 한다.
그러나 이 경우 주의해야 할 점이 있는데, 왼쪽항의 변수 갯수가 오른쪽 항의 변수 갯수보다 많은 경우, 남는 변수들은 undefined가 된다.
// 오른쪽 항의 변수 갯수가 더 많은 경우
let a = 1;
let b = 2;
[a] = [b, a];
console.log(a); // => 2
console.log(b); // => 2
// 왼쪽항의 변수 갯수가 더 많은 경우
let a = 1;
let b = 2;
[a, b] = [b];
console.log(a); // => 2
console.log(b); // => undefined
'FE > javascript' 카테고리의 다른 글
[JS] Array.prototype.sort()의 허점 (0) | 2024.06.20 |
---|---|
[JavaScript] 마이크로 태스크(Micro Task)와 매크로 태스크(Macro Task) (0) | 2024.03.25 |
[Web] Lazy Loading이란 (0) | 2023.08.08 |
JavaScript spread 와 rest (0) | 2021.02.09 |
JavaScript 단축 평가 논리 계산법, 비구조화 할당 (0) | 2021.02.05 |