UP
Typescript : 함수의 타입 명시, 선택적 매개 변수, 기본 매개변수 본문
함수의 타입 명시
- 함수의 반환(Return) 타입
function sendGreeting(message, userName): void { // void(아무 것도 반환하지 않음) console.log(`${message}, ${userName}`); } sendGreeting('Hello', 'Mark');
- void 외에도 다양한 타입으로 반환 타입 지정 가능
function sendGreeting(message, userName): string { return 'Hello, Mark'; } function sendGreeting(message, userName): string[] { return ['Hello', 'Mark']; }
function 함수이름 (매개변수1, 매개변수2, ...): 함수의 반환 타입 { }
- 함수의 매개변수(Parameter) 타입
function sendGreeting(message: string, userName: string): void { console.log(`${message}, ${userName}`); } sendGreeting('Hello', 'Mark'); // Hello, undefined
함수의 선택적 매개변수
- 선택적 매개변수는 매개변수 뒤에
?
를 붙이며 반드시 필수적 매개변수 뒤에 와야 한다.function sendGreeting(message: string, userName?: string): void { console.log(`${message}, ${userName}`); } sendGreeting('Hello'); // Hello, undefined
- ex) 함수명(필수적 매개변수, 필수적 매개변수, 선택적 매개변수, 선택적 매개변수, 선택적 매개변수)
함수의 기본 매개변수
- 기본 매개변수를 지정하면 필수적 매개변수가 되기 때문에
?
와 명시된 타입은 없앤다. - 타입의 경우는 기본 매개변수의 값으로 추론이 가능하다.
function sendGreeting(message = 'Hello', userName ='there'): void {
console.log(`${message}, ${userName}`);
}
sendGreeting(); // Hello, there
sendGreeting('Good morning'); // Good morning, there
sendGreeting('Good afternoon', 'Jenny'); // Good after, Jenny
화살표 함수
- 함수를 단순하고 간결한 문법으로 만들어 코드 길이를 줄여준다.
// 기존 함수
function add (num1, num2) {
return num1 + num2;
}
// 화살표 함수
const add = (num1, num2) => num1 + num2;
function sendGreeting(message = 'Hello', userName ='there'): void {
console.log(`${message}, ${userName}`);
}
const sendGreeting = (message = 'Hello', userName ='there'): void => console.log(`${message}, ${userName}`);
실습 코드 : https://github.com/cijbest/TIL/tree/master/TypeScript/%EC%8B%A4%EC%8A%B5/Day_7
공부 영상 출처 : [땅콩코딩] https://youtu.be/SVtqhpboxGw
반응형
'TypeScript' 카테고리의 다른 글
Typescript : 생성자 (Constructor), 접근 제한자 (Access Modifiers), Getter 와 Setter (0) | 2021.05.30 |
---|---|
Typescript : OOP 객체지향 프로그래밍, 클래스와 오브젝트 관계 (0) | 2021.05.30 |
Typescript : Any 타입, 유니언 타입, 타입 별칭, 타입 가드 (0) | 2021.05.29 |
Typescript : 열거형(Enum)과 리터럴(Literal) 타입 (0) | 2021.05.29 |
Typescript : 인터페이스 (Interface) (0) | 2021.05.29 |
Comments