第2章. 基本タイプ
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
さて、すべてのセットアップが終わったところで、いよいよTypeScriptを書いてみよう!最初は簡単なはずだが、すぐに自分がやっていることが正しいのか不安になる場面に出くわすだろう。インタフェースを使うべきか、エイリアス化を使うべきか。アノテーションをつけるべきか、型推論に任せるべきか。any やunknown はどうなのか?インターネット上では、これらは決して使うべきではないと言う人もいる。
これらの疑問はすべてこの章で解決される。TypeScriptを構成する基本的な型を見て、経験豊富なTypeScript開発者がそれらをどのように使うかを学ぶ。TypeScriptコンパイラがどのように型にたどり着き、どのようにアノテーションを解釈するのか、その感覚をつかむことができる。
これはコード、エディター、コンパイラー間の相互作用についてだ。そして、レシピ2.3で説明するように、型階層を上下に移動することである。経験豊富なTypeScript開発者であれ、これからTypeScriptを発見する人であれ、この章では役に立つ情報を見つけることができるだろう。
2.1 効果的に注釈を付ける
問題
タイプの注釈は面倒で退屈だ。
解決策
型チェックが必要なときだけ注釈を入れる。
ディスカッション
型アノテーションとは、どの型が期待されるかを明示的に示す方法である。他のプログラミング言語では、StringBuilder stringBuilder = new StringBuilder() の冗長性によって、本当に、本当に、StringBuilder を扱っていることを確認するような、目立つものだ。 その反対は型推論で、TypeScriptはあなたのために型を割り出そうとする:
// Type inferenceletaNumber=2;// aNumber: number// Type annotationletanotherNumber:number=3;// anotherNumber: number
Typeアノテーションは、TypeScriptとJavaScriptの最も明白で目に見える構文の違いでもある。
TypeScriptを学び始めると、期待する型を表現するためにあらゆるものにアノテーションを付けたくなるかもしれない。これは当たり前の選択のように感じるかもしれないが、アノテーションを控えめにして、TypeScriptに型を把握させることもできる。
型アノテーションは、契約書のどこをチェックしなければならないかを表現する方法である。変数宣言に型アノテーションを追加すると、代入時に型が一致するかどうかをチェックするようコンパイラーに指示することになる:
typePerson={name:string;age:number;};constme:Person=createPerson();
createPerson がPerson と互換性のないものを返した場合、Typescript はエラーを投げる。本当に正しい型を扱っていることを確認したい場合は、このようにしてほしい。
また、この瞬間から、me はPerson 型であり、TypeScript はこれをPerson.meにさらにプロパティがある場合 - たとえばprofession- TypeScriptはそれらにアクセスすることを許可しない。これは ...