일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- TypeScript
- Class
- node
- SAA
- 파이썬
- dict
- docker
- S3
- 중급파이썬
- 채팅
- merge
- git
- async
- flask
- MongoDB
- AWS
- pandas
- Vue
- SSA
- NeXT
- wetube
- Props
- lambda
- crud
- socket io
- RDS
- react
- 튜플
- 카톡
- EC2
- Today
- Total
초보 개발자
6 함수 기본 매개변수 선택적 매개변수 본문
함수의 타입명시
- 함수의 반환(return) 타입
- 함수의 매개변수 (parameter)
function sendGreeting(message, userName):void {
console.log(`${message}, ${userName}`);
}
반환값이 없는 경우 return 타입으로 void를 적어준다.
function sendGreeting(): string {
return "hello taehyeki";
}
반환값이 string일 경우에는 string
function sendGreeting(): string[] {
return ["hello", "taehyeki"];
}
반환값이 string배열일 경우에는 string[]을 적어주면 된다.
C언어에선 무조건 적으로 타입을 적어주었는데 여기서 다시보니 반갑다.
function sendGreeting(message: string, userName: string): void {
console.log(`${message}, ${userName}`);
}
마찬가지로 매개변수에도 타입을 지정해줄 수 있다. string을 명시해준 뒤 매개변수에 다른 타입이 오면 오류가 발생한다.
만약 매개변수에 값을 하나만 넣고싶다면 어떻할까? 전에 말했던 것 처럼 선택적 매개변수를 사용하면된다
userName?: string 처럼 ?를 넣어주면 하나만 넣어도 오류가 발생하지 않는다.
아무것도 넣어주지 않을시 console로 찍어보면 undefinded가 나오는데 이럴 때 기본매개변수를 지정해주면 이를 해결할 수 있다.
기본매개변수가 있다면 선택적 매개변수가 필요없고 ( 안적어도 기본적으로 나오기때문) 타입지정도 기본값으로 지정된 값을 보고 자동으로 타입스크립트가 지정해주기 때문에 별도로 지정해줄 필요가 없다
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
선택적 매개변수들은 반드시 필수 매개변수 뒤쪽에 위치하여야 한다!!!!
필수 매개변수 필수 매개변수 선택적 매개변수 선택적 매개변수 선택적 매개변수 .... O
필수 매개변수 선택적 매개변수 필수 매개변수 선택적 매개변수 선택적 매개변수 .... X
function sendGreeting(message: string, userName = "there"): void {
console.log(`${message}, ${userName}`);
}
sendGreeting("hi");
hi, there이 출력되는 것을 확인할 수 있다.
function add(...num:number[]) {
return nums.reduce((result,num) => result + num, 0);
...num 나머지 매개변수가 사용되었는데
갯수가 매번 바뀔수 있다. 전달받은 매개변수를 배열로 나타낼수 있다. 따라서 숫자배열타입을 지정해준다.
interface User {
name: string;
}
const Sam: User = {
name: "Sam",
};
function showName(this: User, age: number, gender: "m" | "f") {
console.log(this.name, age, gender);
}
const a = showName.bind(Sam);
a(30, "m");
함수에 this를 사용할 때는 첫번째 매개변수자리에다가 지정해준다.
'TYPE SCRIPT' 카테고리의 다른 글
7. 클래스와 오브젝트 getter setter 접근제한자 (0) | 2021.09.07 |
---|---|
5 Types(any, union) type guard (0) | 2021.09.07 |
4. interface (0) | 2021.09.07 |
3 Types (0) | 2021.09.07 |
2. Typescript 설치 및 만들기 (0) | 2021.09.06 |