🗂

TypeScriptの関数定義について 

2021/09/28に公開

伊藤です、いろいろな言語に触っていると分からなくなりますが、定義の形くらいは覚えたいものです。

アロー関数

//アロー関数
export const logMessage = (message: string): void => {
    console.log(message)
}

名前付き関数

//名前付き関数
export function logMessage2(message: string): void {
    console.log(message)
}

関数式

//関数式
export const logMessage3 = function (message: string): void {
    console.log(message)
}

アロー関数の省略型

//アロー関数の省略
export const logMessage4 = (message: string): void => console.log(message);

オプションパラメータを持つ関数

//オプションパラメータを持つ関数
export const isUserSignedIn = (userId: string, username?: string): boolean => {
    if (userId === "SOME_USER_ID"){
        console.log("welcome",username)
        return true
    }else{
        console.log("Who are you?")
        return false
    }
} 

デフォルトパラメータを持つ関数

//デフォルトパラメータを持つ関数
export const isUserSignedIn2 = (userId: string,username: string = "NO NAME") => {
    if (userId === "SOME_USER_ID"){
        console.log("your name is",username)
        return true
    }else{
        console.log("who are you?")
        return false
    }
}

Discussion