Spread 연산자
- ...객체명, ...배열명
- 객체나 배열에 저장된 여러개의 값을 개별로 흩뿌리는 연산자
- 함수 호출시 인자를 Spread연산자를 사용해서 전달 가능
// 1. 배열 Spred
let arr1 = [1, 2, 4, 5];
let arr2 = [4, arr1[0], arr1[2]]; // 배열의 길이가 변경 될 수 있어서 위험한 방법
let arr3 = [4, ...arr1, 6];
console.log(arr3); // [4,1,2,4,5,6]
// 2. 객체 Spred
let obj1 = {
a: 1,
b: 2,
};
let obj2 = {
...obj1,
c: 3,
d: 4,
};
console.log(obj2); // {a:1, b:2, c:3, d:4}
// 3. 함수 인자 Spred로 전달
function funcA(p1, p2, p3, p4, p5 = 6) {
console.log(p1, p2, p3, p4, p5);
}
funcA(...arr1); // 1, 2, 4, 5, 6
Rest 매개변수
- ...매개변수명
- 나머지 매개변수로 매개변수 ()안에 사용
- 매개변수를 받을 때 배열 형태로 한 번에 받을 수 있음
- Rest 매개변수명은 자유롭게 설정가능(꼭 rest가 아니라도 가능)
- Rest 매개변수는 항상 마지막에 써서 배열의 나머지 값들을 배열 형태로 받아오게 함(Rest 매개변수 뒤 추가 시 오류 발생)
let arr1 = [1, 2, 4, 5];
function funcB(one, two, ...rest) {
console.log(one, two, rest); // 1 2 [4, 5]
}
funcB(...arr1);
'프로그래밍언어 > JavaScript' 카테고리의 다른 글
[JavaScript] Date 객체와 날짜 (0) | 2025.06.21 |
---|---|
[JavaScript] 배열의 메서드 (2) | 2025.06.19 |
[JavaScript] 구조 분해 할당 (0) | 2025.06.18 |
[JavaScript] Truthy&Falsy (0) | 2025.06.18 |
[JavaScript] AJAX(Asynchronous Javascript And XML) (0) | 2025.03.11 |