0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【TypeScript】色々な型定義について 〜備忘録〜

Posted at

今回は関数のパラメータに型定義する方法をについてざっくり学んでいきます!
間違い等あればご指摘して頂ければと思います!

オプションパラメータについて

オプションパラメータは「?」をつけることでパラメータを使っても使わなくていいと宣言?することができます!
ただし、オプションパラメータは最後に宣言する必要があります!

実際にコードを書いてみます

prameters.ts
export const isUserSignedIn = (userId:number,name?:string):boolean => {
    if(userId === 1){
        console.log(name)
        return true
    }else{
        console.log('noName')
        return false
    }
}

isUserSignedIn(1,'takeda');とすることでconsoleはtakedaを表示します!
isUserSignedIn(2);とするとelseが走るので、noNameが表示されます!
isUserSignedIn(2)はnameを引数に指定してませんがオプションパラメータがあることで指定しなくてもOKです!

デフォルトパラメータについて

引数がなかった場合は初めに指定した値が代入される

prameters.ts
export const isUserSignedIn2 = (userId:number,name="suzuki"):boolean => {
    if(userId === 1){
        console.log(name)
        return true
    }else{
        console.log(name)
        return false
    }
}

isUserSignedIn2(1)をパラメータに渡すとnameの指定がないのでsuzukiが表示される。
isUserSignedIn2(1,'yamada')を引数に指定するとyamadaが表示される
これがデフォルトパラメータです!

レストパラメータについて

不特定多数の引数を受け取りたい時に使用します!

prameters.ts
export const value = (...num:number[]) => {
    console.log(num)
}

...と記載することで不特定多数のnumber型を配列に格納してくれます!

value(1,2,3,4,5)で呼び出すことでconsoleは[1, 2, 3, 4, 5]と表示されます!

呼び出しシグネチャ

今まではパラメータに型定義してましたが、関数に型定義する方法です!
書き方が2種類あるので紹介していきます!

正式な記法

prameters.ts
type messageSignenecher = {
    (message :string):void
}

export const logMeesage :messageSignenecher = (message) => {
    console.log(message);
}

オブジェクトに似た形式で記載することができます!
voidはreturnを返さない時に記載する特別な指定方法です!

省略記法

prameters.ts
type messageSignenecher = (message:string) =>  void

export const logMeesage :messageSignenecher = (message) => {
    console.log(message);
}

アロー関数に似た形式で記述することができます!

最後に

指定の方法がたくさんあって迷うなー。
とりあえずわからなくなったら都度調べればいいか・・・

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?