投稿元:
レビューを見る
構造的部分型など一部難しい項目もあるが、概ね初学者でも体系的に学べる良本。また、語弊のないような但し書きで細心の注意がなされているのもよかった。
投稿元:
レビューを見る
業務でTypeScriptを扱うことになり、しっかり勉強しようと思って本書を購入。
平易な説明書きで一貫されており、入門書としては良かったと思う。
特に非同期処理の認識が結構曖昧だったと思い知らされ、本書で学べて良かったと思う。
またTypeScriptのキモであろう型についても、多くのページを割いて解説されている。
TypeScriptを「C#っぽいJavaScript」という認識でいたのだが、型に関しては非常に柔軟な表現が可能で、独特なプログラミング観があるなと感じた。
投稿元:
レビューを見る
TypeScriptを始めるために大事なことが正確に、そして理解しやすく書かれている本だと思う。
ただしすべてが網羅されているわけではない。進化するスピードの速い言語という点も踏まえておいた方がよい。
何らかのプログラミング言語を使った経験を持ちTypeScriptを基本から本格的に始めたい人におすすめの本。
投稿元:
レビューを見る
今までなんとなく書いていたTypeScriptを体系的に学び直すため読みました。情報量としては十分すぎるほどで、途中からは注釈を飛ばしながら読みました。
単純な文法説明だけではなく、「いくつか書き方があるが主流はこっち」「著者はこちらを推奨します」など、最近のトレンドや著者の意見も書かれていたのが良かったです。
投稿元:
レビューを見る
最近、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だけど、こうやって勉強してみるとかなり奥深いことが分かった。今後、使いこなしていきたい。
投稿元:
レビューを見る
今までwebの情報をコピペして動けばヨシ!だったが流石に原理とか分からないと不味いよなぁと思い買った本です。
結論から言うと、初心者(JavaScriptを100行~書いたことある人)にとって体系的に必要十分に知識が吸収できる良書でした。ただ、サンプルコードは多めですが、問題形式なものは少ない(各章に1,2個)です。
問題(課題)を解きながら覚えたい!!という人には、適していないと思います。
良くあるTypeScript独自の説明に留まらず、背景から丁寧に説明してくれています。ネットのチュートリアルみたいに情報が多すぎることもなく(寄り道)、しっかり最低限の情報で教えてくれます。
フロントエンドのwebフレームワークも何となくで動かし、チュートリアルもめんどくさくて適当にやってきた人が基礎を知るのに最適です。
初心者が読んで損はしないです。