| JavaScript |
Python |
개념 |
| 구조 분해 할당 (Destructuring) |
언패킹 (Unpacking) |
거의 동일 |
| 전개 구문 (Spread) |
언패킹 (*args) |
유사하지만 약간 다름 |
배열/리스트 분해
// JS
const [a, b, c] = [1, 2, 3];
const [x, ...rest] = [1, 2, 3, 4];
# Python
a, b, c = [1, 2, 3]
x, *rest = [1, 2, 3, 4] # rest = [2, 3, 4]
함수 인자 전개
// JS
const nums = [1, 2, 3];
Math.max(...nums);
# Python
nums = [1, 2, 3]
max(*nums)
객체/딕셔너리 (차이 있음!)
// JS - 객체 구조 분해
const {name, age} = {name: 'Alice', age: 25};
// JS - 객체 전개
const obj2 = {...obj1, extra: 'value'};
# Python - 딕셔너리는 구조 분해 안 됨!
# 이런 건 불가능:
# name, age = {'name': 'Alice', 'age': 25} # 에러!
# Python - 딕셔너리 언패킹
dict2 = {**dict1, 'extra': 'value'}
핵심 정리
| 개념 |
JavaScript |
Python |
| 구조 분해 할당 |
const [a,b] = arr |
a, b = arr |
| 전개 구문 |
...arr |
*arr |
| 나머지 요소 |
...rest |
*rest |
| 객체 전개 |
{...obj} |
{**dict} |
댓글
첫 번째 댓글을 남겨보세요.