728x90
스프레드 연산자: 스프레드 연산자를 이용해서 새로운 배열을 구축하거나 함수에 다수의 값을 전달한다.
이터러블: 배열, 문자열, map, set (개체는 아니다.)
// Iterables: arrays, strings, maps, sets. Not objects
const str = 'Jonas';
const letters = [...str, '', 'S.'];
console.log(letters); // ['J', 'o', 'n', 'a', 's', '', 'S.']
// 스프레드 연산자는 배열을 만들때나 함수에 값을 전달할 때만 사용할 수 있다.
console.log(...str); // J o n a s
console.log('j', 'o'); // j o
console.log(...str)와 console.log(letters)의 결과 값이 다른 이유
console.log(...str)은 문자열 'Jonas'를 분해하여 각 문자를 개별적으로 출력
console.log(letters);는 배열 letters를 출력
배열은 문자열 'Jonas'의 각 문자를 포함하고 있으며, 빈 문자열 (' ')과 'S'도 포함하고 있다.
그래서 ['J', 'o', 'n', 'a', 's', '', 'S.'] 이렇게 출력되었다.
Spread와 Rest
Spread는 배열을 언팩하는 거고
Rest는 요소들을 배열 팩하는 거다.
728x90
'🦎 JavaScript > JavaScript' 카테고리의 다른 글
[JS] 구조 분해 할당 (0) | 2024.08.21 |
---|---|
[JS] 문자열 (0) | 2024.08.21 |
[JS] 할당 (0) | 2024.03.13 |
[JS] 이터러블 (0) | 2024.03.13 |
[JS 메모] function과 Function의 차이 (0) | 2024.01.16 |