본문 바로가기

Dev/Typescript

타입스크립트 Typescript 함수

Typescript

// 함수
function hello(name:string, age?:number): string {
    if (age !== undefined) {
        return `Hello, ${name}. You are ${age}.`;
    } else {
        return `Hello, ${name}.`;
    }
}

console.log(hello("Same", 30));
console.log(hello("Same"));

//let test:number = hello("Same", 30); 에러발생 타입 불일치
let test2:string = hello("Same", 30);


// 오버로드
interface User {
    name: string;
    age: number;
}

function join(name: string, age: string): string;
function join(name: string, age: number): User;
function join(name: string, age: string|number): User|string {
    if (typeof age === "number") {
        return {
            name,
            age,
        };
    } else {
        return "나이는 숫자로 입력해주세요.";
    }
}

const sam: User = join("Sam", 30);
const jane: string = join("Jane", "30");