과자이야기:
간식 바구니가 있다고 가정해 보겠습니다.
const snacks = ['apple', 'banana', 'chocolate'];
이제 이 간식을 친구들과 공유하고 싶습니다. 하지만 바구니 전체를 주는 대신 간식을 하나씩 꺼내서 나눠줍니다.
console.log(...snacks); // Output: apple banana chocolate
...(spread) 연산자는 바구니에서 간식을 꺼내 테이블 위에 펼치는 것과 같습니다. 이제 친구들이 개별적으로 선택할 수 있습니다!
반면에 친구가 더 많은 스낵을 가져오면 ...(나머지) 연산자를 사용하여 하나의 큰 바구니에 모두 모을 수 있습니다.
function collectSnacks(...moreSnacks) { console.log(moreSnacks); } collectSnacks('cookie', 'chips', 'juice'); // Output: ['cookie', 'chips', 'juice']
여기서 ... 운영자는 모든 간식을 새 바구니에 담습니다. 나머지 연산자는 이렇게 작동합니다!
JavaScript를 처음 사용하는 경우 두 가지 특수 구문 요소인 스프레드 및 나머지 연산자를 접했을 수 있습니다. 둘 다 점 3개(...)로 동일해 보이지만 사용되는 방식은 다릅니다. 간단한 예를 들어 살펴보겠습니다!
1. 스프레드 연산자란 무엇인가요?
확산 연산자(...)는 배열이나 객체를 개별 요소로 확장하는 데 사용됩니다. 이는 배열이나 객체를 구성 요소로 풀어내는 것과 같습니다.
예: 어레이 확장
숫자 배열이 있고 이를 개별적으로 함수에 전달하려고 한다고 가정해 보겠습니다.
const numbers = [1, 2, 3]; console.log(...numbers); // Output: 1 2 3
배열 연산자를 사용하여 배열 요소를 펼칠 수 있습니다!
예: 배열 결합
두 개의 배열이 있고 이를 병합하려는 경우 스프레드 연산자를 사용하면 쉽게 수행할 수 있습니다.
const array1 = [1, 2, 3]; const array2 = [4, 5, 6]; const mergedArray = [...array1, ...array2]; console.log(mergedArray); // Output: [1, 2, 3, 4, 5, 6]
array1과 array2의 모든 요소를 하나의 새로운 배열로 배치하는 것과 같습니다.
예: 개체 복사
객체에 스프레드 연산자를 사용할 수도 있습니다:
const user = { name: "Ahmed", age: 25 }; const updatedUser = { ...user, location: "Bengaluru" }; console.log(updatedUser); // Output: { name: "Ahmed", age: 25, location: "Bengaluru" }
여기에서는 사용자 개체의 속성을 복사하고 새 속성 위치를 추가했습니다.
예: 나머지 매개변수가 있는 함수
원하는 개수의 인수를 취하는 함수를 작성한다고 상상해 보세요.
function addNumbers(...nums) { return nums.reduce((sum, current) => sum + current, 0); } console.log(addNumbers(1, 2, 3, 4)); // Output: 10
이 경우 나머지 연산자 ...nums는 모든 인수를 배열로 수집하여 여러 값으로 작업하기를 더 쉽게 만듭니다.
예: 나머지를 사용한 구조 분해
배열을 분해할 때 나머지 연산자를 사용할 수도 있습니다:
const [first, ...rest] = [1, 2, 3, 4]; console.log(first); // Output: 1 console.log(rest); // Output: [2, 3, 4]
여기서 먼저 배열의 첫 번째 요소를 가져오고 나머지는 나머지 요소를 수집하여 새 배열로 만듭니다.
결론
스프레드 및 나머지 연산자는 JavaScript의 강력하고 다양한 도구입니다. 요약하자면:
이 두 가지 개념을 잘 이해하셨기를 바랍니다. 이를 통해 JavaScript 코드가 더욱 간결해지고 읽기 쉬워질 것입니다!
행복한 코딩하세요 :)
위 내용은 JavaScript의 스프레드 및 나머지 연산자의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!