type
typescript で、新しい名前の型を作る型エイリアス。
以下は string の Name 型を作成してつかっています。
type Name = string; const name: Name = "ohasi"; console.log(name); //ohasi
昨日書いたようにオブジェクトでも使えます。
type human = { name: string; age: number }; const obj: human = { name: "ohasi", age: 30 }; console.log(obj);
元々の型を指定するだけではなく、具体的な要素も指定できます。 男が女かしか受け付けないような型。他の値を入れるとエラーになります。
type SEX = "W" | "M"; const sex: SEX = "W"; const error: SEX = "a"; //TS2322: Type '"a"' is not assignable to type 'SEX'.
3 つを組み合わせた型はこんな感じ。また、?をつけるとその引数は省略することができます。
type Human = { name: string; age?: number; sex: "M" | "W"; }; const ohasi: Human = { name: "ohasi", age: 30, sex: "W", }; const osusi: Human = { name: "osusi", sex: "M", };
関数の型も書けます。
type ADD = (num1: number, num2: number) => number; const add: ADD = (num, num2) => num + num2; console.log(add(1, 3)); //4
こんな書き方もあるみたいです。
この場合、中に複数の関数型を記載できるので、オーバーロードする場合に使うとのこと。
type ADD = { (num1: number, num2: number): number; }; const add: ADD = (num, num2) => num + num2;
終わり。