[리턴값이 있는 함수 - 예시 코드]

// number 리턴 함수
function add(a: number, b: number): number {
    return a + b;
}

// bool 리턴 함수
function isAdult(age: number): boolean {
    return age > 19; 
}

console.log(add(1, 2));
console.log(isAdult(20));
3
true

[리턴값이 없는 함수 - 예시 코드]

// void 리턴 함수
function abs(a: number, b: number): void {
    let res: number;
    res = a - b;
    console.log(res);
}

abs(1, 2);
-1

[리턴값이 없는 함수 - 예시 코드]

// void 리턴 함수
function abs(a: number, b: number): void {
    let res: number;
    res = a - b;
    console.log(res);
}

abs(1, 2);
-1

[선택적 매개변수에 따라 리턴값이 달라지는 함수 - 예시 코드]

// 선택적 매개변수에 따라 리턴값이 갈리는 함수
function hello(name?: string): string {
    return `Hello, ${name || "World"}`;
}
Hello, World
Hello, LeeDongYoo

[매개변수와 선택적 매개변수에 따라 리턴값이 달라지는 함수 - 예시 코드]

선택적 매개변수는 맨 앞에 두지 않도록 주의한다.

// 매개변수와 선택적 매개변수에 따라 리턴값이 갈리는 함수 
function logIn(id: string, pw?: number): void {
    if (pw !== undefined) {
        console.log("Welcome!");
    }
    else {
        console.log("Please, input your pw.");
    }
}
Please, input your pw.
Welcome!

[C#의 params와 비슷한 매개변수를 갖는 함수 - 예시 코드]

... 을 매개변수 앞에 사용하면, 1차원 배열로 매개변수의 갯수와 상관없이 넘길 수 있다.

선택적 매개변수는 맨 앞에 두지 않도록 주의한다.

// C#의 params와 비슷한 매개변수를 갖는 함수
function sum(...nums: number[]): number {
    return nums.reduce((result, num) => result + num, 0);
}
6
55

[this와 bind로 한정하는 함수 - 예시 코드]

// this로 한정하기
interface User {
    name: string;
}

const Sam: User = { name: 'LeeDongKyoo' };

function showName(this:User) {
    console.log(this.name);
}

const a = showName.bind(Sam);
LeeDongKyoo

댓글남기기