스프레드 연산자

꼬질맨·2025년 3월 13일

JavaScript

목록 보기
3/7
post-thumbnail

여기저기 코드를 보러다니니까 요즘 많이 보이는게 구조분해할당이랑 스프레드 연산자인 것 같다.
실무에서는 잘 사용하지 못했었는데, 이 좋은걸 왜 안썼지,,?

지금이라도 써보자는 마음으로 나의 스프레드 연산자에 대한 고촬을 정리해봤다.

  1. 스프레드 연산자는 무엇인가
  • 검색해보면 이터러블(Iterable)한 객체에 사용할 수 있다고 주로 쓰여있는데, 간단하게 말해서 for ... of 사용 가능한 반복(iteration)이 가능한 객체다.

  • 대표적으로 배열, 문자열, Set, Map, ... 이 있다. 의외로 일반 객체는 사용 불가하다. (일반 객체는 for ... in) 일반 객체는 key 를 순회하는거라서 예시들과는 좀 다르다.

  • 이런 이터러블한 객체의 요소를 개별적으로 분해해서 사용할 수 있게 해주는게 스프레드 연산자이다.

  1. 스프레드 연산자의 사용

    let arr = [1,2,3,4,5]
    
    // 배열을 풀어서
    console.log(...arr); // 1 2 3 4 5
    
    // 배열을 복사
    let copy = [...arr]
    console.log(copy);	// [1,2,3,4,5]
    
    // 배열 합치기
    let arr2 = [6,7,8,9]
    let mergedArr = [...arr, ...arr2]
    console.log(mergedArr)	// [1,2,3,4,5,6,7,8,9]
    
    // 함수에서 활용
    const fuc = (a,b,c) =>{
    	return a+b+c
    }
    
    console.log(fuc(...arr)) // 구조분해할당 되어서 1+2+3
    
    // 문자열에서 작동
    let str = 'letmegohome';
    console.log([...str])	// ['l','e','t','m','e','g','o','h','o','m','e'] : .split() 과 같은 효과
    
    // Set 을 배열로 변환
    let numSet = new Set([0,7,3,3,1])
    console.log(numSet) // {0,7,3,1}
    console.log([...numSet]) // [0,7,3,1]

3. 결론
- 스프레드 연산자는 요소를 펼쳐서 분해한다음 사용할 수 있게 해주는 기능이다.
profile
주니어개발자

0개의 댓글