手を動かしながら学ぶ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はその時入った値がその都度その型になる。これが動的型付けってわけか
■ 感想
病気になって、やっとよくなってきた。来年はタイタンの年になるのは間違いない!