rest 파라미터 타입지정은
function 전부더하기(...a :number[]){
console.log(a)
}
전부더하기(1,2,3,4,5)
rest 파라미터는 항상 [ ] 안에 담겨오기 때문에 타입지정도 array처럼 해주시면 됩니다. 끝
Destructuring 문법도 함수 파라미터에 사용가능
왜냐면 함수 파라미터 작명하는 것도 변수만드는 문법과 똑같아서 그렇습니다
변수만들 때 기존 object에 있던 자료를 파라미터로 집어넣고 싶으면
let person = { student : true, age : 20 }
function 함수(a, b){
console.log(a, b)
}
함수(person.student, person.age)
기존 object에 있던걸 person.student 이렇게 각각 찝어서 집어넣으면 되긴 되는데
destructuring 문법을 이용하면 약간 더 쉽게 사용가능합니다.
let person = { student : true, age : 20 }
function 함수({student, age}){
console.log(student, age)
}
함수({ student : true, age : 20 })
실은 안쉬운듯
그니까 파라미터 변수만들 때 { student, age }라고 쓰면
파라미터로 들어오는 { student : 어쩌구 }는 student 라는 변수에 저장해주세요~
파라미터로 들어오는 { age : 어쩌구 }는 age 라는 변수에 저장해주세요~
라는 뜻입니다. (object 자료니까 변수 작명할 때 object 속성명으로 잘 작명해야함)
항상 같은 모습의 object, array 자료가 들어올 때 쓰는 문법이라고 보면 되겠습니다.
Q. 위의 함수 파라미터에 타입지정해보도록 합시다 어떻게 하게요
let person = { student : true, age : 20 }
function 함수({student, age} :{student : boolean, age : number}){
console.log(student, age)
}
함수({ student : true, age : 20 })
object가 들어있으니까 object 처럼 타입지정을 했다고 합니다.
너무 길면 type 키워드 쓰는게 좋아보입니다.
<출처 : 코딩애플 - 빠르게 마스터하는 타입스크립트>
'TypeScript' 카테고리의 다른 글
[TS]함수에 사용하는 never 타입도 있긴 합니다 (0) | 2022.11.07 |
---|---|
[TS]Narrowing 할 수 있는 방법 더 알아보기 (0) | 2022.11.07 |
[TS]Object에 타입지정하려면 interface도 있음 (0) | 2022.11.07 |
[TS]필드값 타입지정 (0) | 2022.11.07 |
[TS]함수와 methods에 type alias 지정하기 (0) | 2022.11.07 |