Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Coding devil/4 : 함수 #7

Open
wants to merge 9 commits into
base: recently
Choose a base branch
from
Open

Coding devil/4 : 함수 #7

wants to merge 9 commits into from

Conversation

nyun-nye
Copy link
Collaborator

✍ Coding devil/4 : 함수

📝Description

  • 선택적 매개변수

    • 함수 파라미터로 optional 속성을 지정할 수 있다.
    • 선택적 매개변수와 필수 매개변수가 같이 사용될 때는 선택적 매개변수를 맨 뒤에 두고 사용한다.
    • 선택적 매개변수를 맨 앞에 두고 싶을 땐 undefined 속성을 추가한다.
      • 함수를 사용할 때는 undefined를 명시적으로 전달해줘야한다.
           function hello2(age: number|undefined, name: string):string{ 
             if (age !== undefined)
               return `Hello, ${name}. You are ${age}.`;
             else
               return `Hello, ${name}`;
           }
  • 나머지 매개변수

    • 나머지 매개변수의 타입은 arr로 작성한다.
    • (...nums: number[])
  • this

    • 함수에서 this를 사용할 때는 매개변수 자리에서 this의 타입을 지정한다.
    • 매개변수가 없을 때
      • 매개변수 자리에 this의 타입을 지정한다.
    • 매개변수가 있을 때
      • 매개변수의 제일 앞에 this의 타입을 지정하고 나머지 매개변수를 작성한다.
  • 함수 오버로드

    • 함수가 전달받은 매개변수의 개수나 타입에 따라 다르게 동작해야 할 때 사용한다.
          // age가 number일 때 => User 타입 반환
          function join(name: string, age: number): User;
          // age가 string일 때 => string 타입 반환
          function join(name: string, age: string): string;
          function join(name: string, age: number|string):User|string{
            if(typeof age === "number"){
              return{
                name,
                age,
              };
            } else{
              return "나이는 숫자로 입력해주세요.";
            }
          }

📌Summary

  • 선택적 매개변수: 함수의 매개변수에 optional을 사용하여 선택적인 인자를 설정할 수 있다. 선택적 매개변수는 필수 매개변수 뒤에 위치해야 하며, 만약 앞에 두고 싶다면 undefined를 명시적으로 전달해야 한다.

  • 나머지 매개변수: 여러 개의 인자를 받기 위해 나머지 매개변수를 사용하며, 배열 타입으로 지정한다.

  • this 매개변수: 함수에서 this를 명확히 지정하려면 매개변수 목록에서 제일 앞에 this의 타입을 지정한다.

  • 함수 오버로드: 매개변수의 타입이나 개수에 따라 서로 다른 방식으로 함수가 동작하도록 할 때 사용됩니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant