キーワードを使ったライブラリの型定義のためのシンタックスがある。キーワードを使ったシンタックスは、通常のコードに混ぜて使うことも出来る、という点。この機能、ドキュメントからいつの間にか消えているので、なぜエラーにならないのかもはや知る術がない。2何かの拍子に書いた際にエラーにならなくて、エディタの動作を疑ったりした事があったので、とりあえずこういうシンタックスがあるということを知っておく。使ってそれぞれエラーがあればエディタ内に表示されるようにして使っている。エラーだと勘違いしてハマった。世界に入ってしまっているので、なぜエラーになるのか分からずしばらく悩んでしまった。エラーメッセージをちゃんと読めっていう話なんだけども。向けのプラグインとルールを設定しておくと良い。機能が入ったのでこれも設定するとなお良い。ブロック直下でプロパティを初期化できるというもの。Types結論から言うとどちらも同じだそうです。ついては、セミコロンは後方互換性のためでカンマ推奨。ついてはよく分かんないっす。文脈で使い分ければ良いのかな。Types以下のように4つの型全てに互換性がある。違いは何かという話なんだけど、ドキュメントを見るとまあいろいろ違う。自分は以下のように使い分けてる。Typesそれ以外の時ドキュメントやエラーメッセージに出て来る英語が難しい前提として自分は英語が得意じゃないです。平易な英語なら読めるけどちょっと難しいのだと解釈が合ってるか自信ない。触り始めてから学んだことが多い。そのせいも大いにあるが、ドキュメントやエラーメッセージに出てくる単語や言い回しは見慣れないものが多く、独特の雰囲気を感じる。いうのがあるんだけど、どういうルールなのかパッと連想できるだろうか。いう表現は最初なんだか分からなかった。英語分かる人にとってはむしろ直感的だったり、気の利いた言い回しだったりするんだろうなとは思う。みたいな言葉がドキュメントとかエラーメッセージでガンガン出てくる。英語の壁と型の壁、二重の壁が立ちはだかる。いうと大げさかもしれないが、チームで導入するならそういう心理的障壁は考慮する必要があるかもしれない。型をどう扱うか、ということの説明に結構多くの部分を割いている。それ自体はすごい助かるし勉強になるんだけど、時々説明のために擬似コードを使うことがあって、前後の文脈を読まずにサンプルコードだけを追うと訳が分からなくなる。以下の場所で使われている。Variance正確な型を表現することの難しさ単純なコードの場合はいい。エラーを吐く、という場面がけっこう出てくる。伝えてあげる必要がある。用いた型の表現をしっかりと身に着けないといけない。自体には高い表現力があるが、それだけにそれを正確に使いこなすのが非常に難しい。複雑な表現はミスが入り込む余地も大きくなるので、慣れるまでは正確な型情報を一発で書けるということは中々無い。3中途半端な理解で無理して型を表現しようとすると、型情報が間違っていたりするだけでなく、間違っているかどうかを判断することも難しくなるので、どんどん本筋と関係ないところで時間を奪われることになる。一つのメリットとして、段階的に導入できるという部分が挙げられることが多いが、果たして本当にそうだろうか?自分が思うに、それはある意味では正しく、ある部分では誤解を与えているような気がする。これはコマーシャル的な意味でおそらく意図的にそうしているのかもしれない。適用する範囲の話であって、学習曲線がなだらかで覚えやすいから導入しやすい、という話では無い。ダイジョブ、ダイジョブ、使いながらおぼえればいいからではないのだ。思った通りに型を表現出来るようになるまでには結構時間がかかる。そんな状態で既存コードに型を付けていこうとしても、結構なんもできない。まみれで何が嬉しいのかさっぱり分からないコードになってしまう。書くほうが、知っていることしか書けない分むしろ楽。導入は段階的でも、学習コストは初めにしっかり払う必要がある。型推論は賢いと感じたし、個人的にはこの先も触っていきたいと感じた。あるかもしれないし、今直ぐギョウミーなコードに導入するのはリスキーかもしれない。習熟度や型の知識などを揃えられないと現実的じゃないと思ってる。勉強したり共有したりする時間とメンバーが確保できるならやってみたい気持ちはある。入門したが、めちゃくちゃ簡単に導入できたような印象がある。先につまづいておいたポイントを回避できた部分も大きいが、VSCodeや圧倒的な型定義ファイルの量(と質?)が物を言ったという感じがする。共通点も多いので、片方で得られたノウハウはもう片方でもある程度使えると思う。好きな方を勉強しておけばいざという時にはそれほど困らないような気がしてる。それにバージョンアップを重ねるごとに違いも無くなっていってる気がするし。【おまけ】ドキュメントから消えた機能Mixins今ではもう使えなくなっている。