본문 바로가기
FE/javascript

[JS] Swap in JavaScript

by 빠니몽 2024. 1. 4.

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