プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで (Software Design plus)

著者 :
  • 技術評論社
4.71
  • (18)
  • (5)
  • (1)
  • (0)
  • (0)
本棚登録 : 235
感想 : 13
本ページはアフィリエイトプログラムによる収益を得ています
  • Amazon.co.jp ・本 (424ページ)
  • / ISBN・EAN: 9784297127473

作品紹介・あらすじ

TypeScriptは、JavaScriptに静的型付けの機能を加えたオープンソースのプログラミング言語です。本書では、根幹となるJavaScriptの仕様・機能とともに、TypeScript独自の仕様・機能を解説します。TypeScriptの基礎知識はこれ一冊だけで学べます。
静的型付き言語は世にいくつもありますが、TypeScriptの型システムは他に類を見ない高い表現力を持っています。本書の読者が、型の有効性を理解しTypeScriptらしいコードを書けるようになるために、本書では、プログラムの安全性を高める基本的な型の扱い方から、TypeScriptの「高い表現力」の源となっているリテラル型・ユニオン型・keyof 型の扱い方まで幅広く取り上げます。また、わかりにくい機能や型安全を脅かす危険な機能についてもごまかさず、歴史的経緯や目的・用途を踏まえたうえで最善の扱い方を説明します。
章ごとに力試し問題を用意しており、理解の度合いを確認しながら学習を進められます。

感想・レビュー・書評

並び替え
表示形式
表示件数
絞り込み
  • 部分型に、ついて知れたのが良かった。
    JSとTSについての理解も深まって読んで良かった。

  • ある程度なにかの言語をやっている人向けの良書。

  • 今までwebの情報をコピペして動けばヨシ!だったが流石に原理とか分からないと不味いよなぁと思い買った本です。

    結論から言うと、初心者(JavaScriptを100行~書いたことある人)にとって体系的に必要十分に知識が吸収できる良書でした。ただ、サンプルコードは多めですが、問題形式なものは少ない(各章に1,2個)です。
    問題(課題)を解きながら覚えたい!!という人には、適していないと思います。

    良くあるTypeScript独自の説明に留まらず、背景から丁寧に説明してくれています。ネットのチュートリアルみたいに情報が多すぎることもなく(寄り道)、しっかり最低限の情報で教えてくれます。

    フロントエンドのwebフレームワークも何となくで動かし、チュートリアルもめんどくさくて適当にやってきた人が基礎を知るのに最適です。

    初心者が読んで損はしないです。

  • 最近、TypeScriptを仕事で使うようになったので読んでみた。
    ITエンジニア本大賞を受賞されたとのことだけど、それも納得。かなり充実した内容。
    はじめにで、「教科書のように、時折基礎を振り返るために読み返され、長く使われるのが良い入門書です」と書かれてあったけど、まさにこの本はそうするのにピッタリな本だと思った。

    JavaScriptを知らない人にたいしても読める内容になっていたけど、JavaScriptを知っていると思っている人にたいしても良い本だったように思う。文と式の話とか、TypeScriptではなく、JavaScriptについての話だけど、あまり意識したことがなかったのでいい勉強になった。

    numberとBigIntについてもJavaScriptについての話だけど、勉強になった、BigIntには、NaNという概念がないのか(変換できない値はランタイムエラーとなるそう)。
    他、注釈に小さく書かれてるだけだけど、ディープコピーには、structuredCloneという関数が使えるとかも覚えておきたいと思った。

    時々、歴史的経緯を鑑みた結果での不完全ということが書いてあって気になった。例えば、普通のオブジェクトの引数を持つ関数に、readonlyプロパティを持つオブジェクトを渡すことができるから、結果的に関数内で書き換えられてしまうことがあるとか。
    後方互換性に気を付けてるからとのことだけど、コンパイルが必要なTypeScriptだったらそこまで気にしなくてもいいような気がするんだけどなぁ。と思ったら、strictコンパイラオプションは例外なよう。歴史的経緯を鑑みた選択でも、チェックを厳しくするオプションというのは今後でてくるのかもしれない。

    classについては、結構TypeScript独自の書き方があるのだなという印象。privateとかprotectedとか。ただ、クラス式だとprivateやprotectedは使えないそうだけど、何でそうしてるのだろう?
    しかも、classだと、そのまま型としても使えるというのはかなり便利なように思う。

    throwは何でも投げられるけど、Errorオブジェクトを投げるのがいいとのこと。それは分かるのだけど、「デバッグする人を困らせたいなどの特段の理由がない限りはErrorオブジェクトを投げましょう」と書かれてあって笑った。「デバッグする人を困らせたい」ってどういう状況なんだと(笑)

    exactOptionalPropertyTypesという、オプショナルなプロパティに、undefinedを明示的に代入できないようにするという制約は、個人的にはいらないかなと思った。
    これって、undefinedな可能性のある変数をセットしない場合はどうするのだろう。変数なら入れれるのかな。それだったら、有効にするのもありかもしれないと思ったのだけど。

    今回、「あれ? そうだっけ?」と思ったのが、オプショナルチェーンについて。undefinedでもnullでも結果はundefinedになるらしい。つまり、「obj?.name」という式についてobjがnullだったとすると、結果はundefinedだそう。ここ、勘違いしてた…(てっきり、nullならnullになるのかと)。

    ESModuleのデフォルトインポート/エクスポートについては、内部ではdefaultという名前が使用されているということを初めて知った。そうだったのか。

    ちなみに、import宣言をするときは、TypeScriptだったとしても、拡張子は「.js」にしないといけないとのこと。Vue.jsの開発では拡張子を省略していいと聞いたけど、あれって標準の機能じゃなかったのかと驚いた。
    その影響で、「import type {Animal, tama} from "./animal.js";」という記述があって、「気持ち悪!」と思った。TypeScript独特の型のインポートなのに、拡張子は「.js」という…。

    とにかく、単純にJavaScriptに型をつけたものと説明されるTypeScriptだけど、こうやって勉強してみるとかなり奥深いことが分かった。今後、使いこなしていきたい。

  • 今までなんとなく書いていたTypeScriptを体系的に学び直すため読みました。情報量としては十分すぎるほどで、途中からは注釈を飛ばしながら読みました。
    単純な文法説明だけではなく、「いくつか書き方があるが主流はこっち」「著者はこちらを推奨します」など、最近のトレンドや著者の意見も書かれていたのが良かったです。

  • [技術書・ビジネス書大賞] 2023年技術書部門ベスト10入り

  • TypeScriptを始めるために大事なことが正確に、そして理解しやすく書かれている本だと思う。
    ただしすべてが網羅されているわけではない。進化するスピードの速い言語という点も踏まえておいた方がよい。
    何らかのプログラミング言語を使った経験を持ちTypeScriptを基本から本格的に始めたい人におすすめの本。

  • 業務でTypeScriptを扱うことになり、しっかり勉強しようと思って本書を購入。
    平易な説明書きで一貫されており、入門書としては良かったと思う。
    特に非同期処理の認識が結構曖昧だったと思い知らされ、本書で学べて良かったと思う。
    またTypeScriptのキモであろう型についても、多くのページを割いて解説されている。
    TypeScriptを「C#っぽいJavaScript」という認識でいたのだが、型に関しては非常に柔軟な表現が可能で、独特なプログラミング観があるなと感じた。

全13件中 1 - 10件を表示

著者プロフィール

鈴木 僚太(すずき りょうた)
2013年からTypeScriptを使用中。LINE株式会社でフロントエンドエンジニアとして自社開発に従事しながら、技術顧問なども行っている(本書発行当時)。専門はTypeScriptとReactで、講演やインターネット上での記事公開を通じて初心者向けから上級者向けまでさまざまな情報を発信している。OSS活動にも積極的だが自作のライブラリはあまり流行っていない。
・Twitter:@uhyo_

「2022年 『プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで』 で使われていた紹介文から引用しています。」

鈴木僚太の作品

  • 話題の本に出会えて、蔵書管理を手軽にできる!ブクログのアプリ AppStoreからダウンロード GooglePlayで手に入れよう
ツイートする
×