티스토리 뷰
rest 파라미터
rest 파라미터에도 타입지정이 가능하다.
* rest 파라미터란?
함수를 만들었는데 함수 안에 들어올 인자의 갯수가 정해지지 않았을 때 들어온 인자들을 배열로 모아서 처리하는 방법으로 여러 인자들을 배열로 묶어서 사용할 수 있다. ' ... ' 연산자를 사용한다.
function 함수(...a) {
console.log(a);
}
함수(1, 2, 3, 4);
출력해보면 배열에 담겨있다.
그럼 rest 파라미터 타입지정은 어떻게?
항상 배열 [ ] 안에 담겨서 저장되므로 array로 타입지정!
function 함수(...a : Number[]) {
console.log(a);
}
함수(1, 2, 3, 4);
* 여기서 헷갈리는 ' ... ' 의 용도....
1. 함수 안에 쓰면 → rest 파라미터
2. 괄호 벗겨주면 → spread operator
destructuring
destructuring 란?
자바스크립트에서 배열, 객체안에 있는 데이터를 빼서 변수로 만들고 싶을 때 쓰는 문법이다.
배열에 요소가 담겨있는데 이걸 따로 담아서 변수에 사용하고 싶을 때
배열을 인덱싱해서 가져오면
let arr = ['안녕', 100]
let 변수1 = arr[0]
let 변수2 = arr[1]
너무 번거롭다.
이때 destructuring 문법을 사용하면 효율적!
let [변수1, 변수2] = ['안녕', 100]
이렇게 쓰면 똑같이 변수로 뺄 수 있다.
오브젝트일때도 사용 가능하다.
let { student, age } = {student : true, age : 20}
오브젝트일 땐 변수이름을 속성이름과 맞춰주는게 편리하고
배열일 땐 변수이름 마음대로 작명 가능하다.
함수 파라미터에도 destructuring 사용할 수 있다.
'Coding > typescript' 카테고리의 다른 글
[typescript] React와 사용할 때 (0) | 2023.09.25 |
---|---|
[javascript] Spread Operator ' ... ' (0) | 2023.08.04 |
[typescript] object에 타입 interface 키워드 (0) | 2023.08.04 |
[typescript] class에 타입지정 (0) | 2023.07.23 |
[typescript] HTML 변경, 조작할 때 narrowing (0) | 2023.07.19 |