book
book copied to clipboard
TypeScriptの入門書『サバイバルTypeScript』
”この名称は英語としても長いらしく”と記述があるのに 肝心の英語の名称が表記されておらず気になってしまったため ”user-defined type guard”を補足として追記します ”user defined”か"user-defined"か迷いましたが以下を参照して後者を採用しました https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates > To define a user-defined type guard, we simply need to define a function whose return type is a type predicate:
フロントエンド開発でよく使われるReact HookをTypeScriptで実装する際に必要なポイント、あるいはReact Hooksを使って簡単なWebアプリケーションを開発する記事を実装したほうがいいのではないかと思いました。 Reactはフロントエンド開発において必須要件なので、React Hookに関するチュートリアルはあったほうがいいのではないかと考えます。 ▼参考記事 https://zenn.dev/yonekubo/articles/17b22c7b4ee07b23369a
デフォルト型引数を指定する方法が示されていなかったので、コードで例示しました。 検討いただけると幸いです。 関連ページ: https://typescriptbook.jp/reference/generics/default-type-parameter
> Mapped Typesはインデックス型と異なりsymbol型もキーにすることができます。 Mapped Typesのページではこのように説明されていますが、インデックス型のページではsymbol型も指定できるとありました。 > インデックス型のフィールド名の型はstring、number、symbolのみが指定できます。 実際にやってみるとsymbol型に出来たのですが、バージョンによって異ったりするのでしょうか? ```ts // v4.7.4 let obj: { [K: symbol]: number; }; obj = { [Symbol("hoge")]: 3 }; console.log(obj); // { [Symbol(hoge)]: 3 }...
QiitaにTypeScriptの型を使いこなすための演習として、TypeScriptの型に関する練習問題が提供されている記事を発見しました。 『サバイバルTypeScript』に演習問題を導入することで、ただただ知識をインプットするだけではなく、知識の使い方などのようなアウトプットの仕方を学べるので効率的に学習できるかと思います。これは、本書の趣旨である「TypeScriptをすぐに実務で利用できるよう、最短ルートに読者を導く一冊になること」に合致するかと思います。 ご検討よろしくお願いします。 参照 * [TypeScriptの型演習 - Qiita](https://qiita.com/uhyo/items/e4f54ef3b87afdd65546) * [TypeScriptの型演習(解答・解説編) - Qiita](https://qiita.com/uhyo/items/0e7821ce494024c98da5) 例えば、上記の記事からの引用で次の問題を作ります。(配列からMapを作る問題) 以下のコードで定義される関数`mapFromArray`は、オブジェクトの配列から`Map`を作って返す関数です。配列から取り出した各オブジェクトをMapに登録しますが、その際にキーとして各オブジェクトの指定されたプロパティの値を用います。`mapFromArray`に適切な型を付けてください。 ```ts function mapFromArray(arr, key) { const result = new Map(); for (const obj of arr) {...
https://typescriptbook.jp/tutorials/setup 開発環境の準備 の記載に従い以下の順で操作を行ったが、nodeのインストール確認時にcommand not foundになってしまった。 ### 確認した環境 macOS Monterey (12.2.1) ### 実行順 1. ターミナル上で`brew install node@16` を実行 2. ターミナル上で`echo 'export PATH="/usr/local/opt/node@16/bin:$PATH"' >> ~/.zshrc`を実行 3. ターミナル再起動 4. ターミナル上で`node -v`を実行 5. command...
TypeScriptで`Partical`を使わないことを推奨するZenn記事を発見したので共有。 ```ts type Item = { name: string; price: number; } type ItemStore = Partial; const initialValue: ItemStore = {}; ``` 上記の場合、`store`だと毎回全てのプロパティの有無を確認しなければならない。 ```ts type ItemStore = Item | undefiend; const...
サバイバルTyepScriptにも「セミコロン推論とセミコロンをつけるべきか」の説明はあったほうがいいかもしれないですね〜。初心者迷うポイントだと思うので😌 shota — 今日 20:43 英語ですが、YouTubeにJavaScriptで;を付けない理由が詳細に解説されてある動画を発見しましたのでここで共有しておきます。 https://www.youtube.com/watch?v=cB0STl_A4l4
Jest深堀り
#114 では扱わなかった以下の内容を扱う、Jest深堀りコンテンツを作ったほうがいいかもしれない 作るとなった場合は、チケットを別途立ててください。 - マッチャーの網羅的解説 - スナップショットテスティング #614 - コードカバレッジ - before, after, beforeAll, afterAll - データ駆動テスト (each) - axiosなどの依存物のモックアップ ★ - #601 - __test__と*.test.tsどちらを使うべき? - ビルド後のJavaScriptでテストしなくても大丈夫か? - テスト時のコンパイルがビルド時のコンパイルと一致するとは限らない -...