🦎 JavaScript/JavaScript

스프레드 연산자와 rest 연산자의 차이

하나둘세현 2024. 3. 6. 08:00
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