normcore.dev

TypeScriptおさらい

TypeScriptとは

  • 最近人気の開発言語の一つ
  • なんで人気なのか
    • 型定義できるJavaScriptのスーパーセット
      • 静的型付け
      • 型推論
        • いちいち型を書かなくても、文脈から型を予測して型をつけてくれる機能
      • null安全性
        • プログラムで一番多いバグはnullアクセスの例外らしい。それを弾いてくれる
      • ECMAScriptに入っている非同期処理や関数型プログラミングへの対応もしてる

型システム

https://typescript-jp.gitbook.io/deep-dive/type-systemhttps://typescript-jp.gitbook.io/deep-dive/type-system

  • number
  • string
  • boolean
  • symbol
  • 特殊な型
    • null
    • undefined
    • any
    • void
  • never

配列

let boolNum: number[];
boolNum = [1, 2, 3];

let boolNum2: Array<number>;
boolNum = [1, 2, 3];

オブジェクト

const jiro: { name: string, age: number } = { name: 'Jiro', age: 10 };

interface User {
name: string;
age?: number;
}
const taro: User = { name: 'Taro', age: 20 };
const hanako: User = { name: 'Hanako' };

type Person = User;
const shiroh: Person = { name: 'Shiroh', age: 30 };
  • 高度な型
    • 交差型(Intersection Type)
      • &
      • 複数の型を1つに連結したもの
      • 連結したすべてのプロパティを備えるが、同じ名前のプロパティが省略可能と必須だと、必須が優先
      • Reactだとよく付くぁれる
    • 共用体型(Union Type)
      • |
      • 渡された複数の型の何れかが適応される