ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [TypeScript] Rest / Spread / Destructuring 문법
    공부/TypeScript 2024. 3. 24. 02:54

    Rest 

    • 파라미터를 배열의 형태로 받아서 사용하는 문법
    • 함수의 파라미터 값을 합쳐서 하나의 배열로 만들어 준다.
    • 함수에 아직 몇개의 파라미터가 들어올지 모를 때 사용하면 유용하다.
    • ...a 처럼 함수의 파라미터에 대입하면된다.
    function Rest_Array(...a :number[]){
      return a; //[1,2,3,4,5]로 반환 
    }
    
    Rest_Array(1,2,3,4,5);

     

    Spread operator

    • 특정 배열 혹은 객체 값을 복제하는 문법으로 주로 배열을 풀어서 인자로 전달 또는
      배열을 풀어서 이용할 때 사용한다.
    • Rest와 동일하게 ...을 사용하지만 두 문법의 차이점은 Spread는 기존 배열을 해체하고
      Rest는 개별요소를 배열 형태로 만들어준다.
    let arr = [3,4,5];
    let arr2 = [1,2, ...arr] // arr : 3,4,5
    console.log(arr2); // [1,2,3,4,5]

     

    Destructuring (구조 분해 문법)

    • JS 문법으로 객체(Object), 배열의 속성을 해체하여 그 값을 변수에 담을 수 있게 만드는 문법을 말한다.
    • Object를 Destructuring 할때는 변수, 속성 이름을 맞추는게 편리하다.
    • Array의 경우는 마음대로 변수를 작성해도 된다.
    //JS 보통 array, object 안에 있는 데이터를 뺄때 이렇게 사용하지만. 
    let Car = { name : 'model3', color : 'red' }
    let Car_name = Car.name;
    let Car_color = Car.color
    
    //Array 안에 자료 빼기
    let [a, b, ...Carname] = ['model3', 'modelY', 'CyberTruck','modelX','modelS'];
    a; // 'model3' , b; // 'modelY' , Carname // ['CyberTruck','modelX','modelS']
    
    
    //구조 분해 문법을 사용하면 
    let { name, color } = { name : 'model3', color : 'red' }
    //name에 model3가 들어가 있어 name을 출력하면 model3 출력

     

    • 함수 파라미터에도 사용가능하다.
    //이유는 함수 파라미터 작성과 변수만드는 문법이 동일하기 때문
    //타입지정
    type CarSet = {name : string, color : string}
    
    let Car : CarSet = { name : 'model3' , color : 'Red' }
    
    function Car_function ({name, color} : CarSet) {
      console.log(name, color); //modelY black 출력
    }
    //함수 파라미터로 입력 시 name, color라는 변수에 저장 
    Car_function({ name : 'modelY', color : 'black' })
Designed by Tistory.