ペロハム大学

ヤルゾー

手を動かしながら学ぶTypeScript 2日目(関数型とか)

■思ったこと

そもそもJavaScriptを何でもできる画面の便利機能ぐらいの理解ではダメだろ!?


■ 覚えておきたいこと

関数式

実行して値が返ってくるなら関数式、戻り値どころか関数自体を変数に直接代入できるよ!

  • 関数名は省略できる、いわゆる無名関数
// 変数名:message
// 関数名:省略
// 引数:string
// 戻り値:string
const message= function (message: string): string {
  return message;
};

message();
  • よく使うのはアロー関数
// 変数名:message
// 引数:string
// 戻り値:string
const message= (message: string): string => {
  return message;
};
  • 引数がない場合は省略できる
// 変数名:message
// 引数:なし
// 戻り値:なし
const message = () => {
    console.log(`めっちゃええやん`);
}

関数型

関数の引数、戻り値を型として設定してあげるだけ

// 変数名:message
// 型:(message: string) => string
// 引数:string
// 戻り値:string
const message: (message: string) => string = (message: string): string => {
  return message;
};

しかし、読みづらくてうざいので、型推論(後述!)使ってスッキリ書きたい

// 変数名:message
// 型:(message: string) => string
// 引数:string
// 戻り値:string
const message = (message: string): string => {
  return message;
};

オブジェクト型

  • JavaScriptにおけるオブジェクトはキーバリューのペアで表せるデータ構造体のこと
  • const neko: {name: string , age: number} = {name: 'ミーちゃん', age: 1,}って感じで使えます
  • interfaceを使ってまとめることもできる

型推論

  • TypeScript は型を書かないと、最初に代入した値で型を推論してくれる。以降そいつはその型!で固定されるよ
    • 一方JavaScriptはその時入った値がその都度その型になる。これが動的型付けってわけか

■ 感想

病気になって、やっとよくなってきた。来年はタイタンの年になるのは間違いない!