반응형
Notice
Recent Posts
Recent Comments
«   2024/12   »
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
Archives
Today
Total
관리 메뉴

UP

Typescript : 함수의 타입 명시, 선택적 매개 변수, 기본 매개변수 본문

TypeScript

Typescript : 함수의 타입 명시, 선택적 매개 변수, 기본 매개변수

cijbest 2021. 5. 30. 01:44

함수의 타입 명시

  • 함수의 반환(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

반응형
Comments