ベータ:インタラクティブはまだ整っていません...
コードブック-TypeScript
コードブックへようこそ - 学習タイプスクリプトの包括的なガイド!タイプスクリプトのゼロからヒーローまでの例で学びます。このリポジトリは、初心者や経験豊富な開発者にとっても貴重なリソースとして機能し、タイプスクリプトをマスターするのに役立つ例と説明のキュレーションされたコレクションを提供します。
クイックスタート
これらの手順に従って、コードブックを開始します。
- リポジトリをローカルマシンにクローンします。
- NPMインストールを実行して、プロジェクト依存関係をインストールします。
- NPM実行ビルドを実行して、TypeScriptコードをコンパイルします。
- 対応するNPMスクリプトを実行して、各章の例を実行します。
# replace number with chapter you want to see output from.
npm run chapter:1
ほとんどの例はダミーテキストを出力することに注意してください。コードをより詳細に調査するには、スクリプト自体を読むことをお勧めします。ソースコードを./SRCディレクトリで見つけて、章をナビゲートできます。
node.jsがマシンにインストールされていることを確認してください。パッケージのエンジンフィールドで指定されているように、できればバージョン16以下のバージョン16以降。コードリポジトリはテストされ、node.js 16で動作するように検証されています。TypeScriptコンパイラのECMA2020ターゲットには、最小のnode.jsバージョン10が必要です。
以下に記載されているクイックリンクを自由に調査するか、ソースコードに飛び込み、学習体験を強化してください。ハッピーコーディング!
注:コードベースは継続的にテストおよび維持されていますが、一部のセクションが開発中であるか、詳細にカバーされていない可能性があることに注意してください。フィードバックと貢献は、このリポジトリをTypeScriptコミュニティにとってより価値のあるものにすることで高く評価されています。
何が中にありますか?
コードブックは、基本から始まり、より高度な概念に徐々に飛び込んで、幅広いタイプスクリプトトピックをカバーしています。各トピックには、明確で簡潔な例が伴い、実行することで学ぶことができます。プリミティブタイプやタイプエイリアスからクラス、モジュール、高度なタイプシステムまで、CodeBookはカバーされています。
学習パス
このリポジトリはクラッシュコースとして設計されており、ゼロからタイプスクリプトのヒーローまでご案内します。それはあなたがあなたの知識とスキルを徐々に構築することを可能にする方法で構成されています。基礎から始めて、あなたの道を進み、あなたが行くにつれてより複雑な概念に取り組んでください。復習が必要なときはいつでも、自分のペースで自由に探索し、トピックを再訪してください。
TypeScriptとは何ですか?
- JavaScriptはスクリプト言語であり、解釈された言語としてもよく知られています。つまり、コードは実行前にバイナリフォームにコンパイルされるのではなく、実行時に行ごとに実行されます。解釈は通常、JavaScriptの通訳によって行われます - いくつかの一般的なものはnode.jsまたは任意のブラウザーです(おそらくすべてのJavaScriptのサポートを備えています)。
- TypeScriptはJavaScriptのスーパーセットです。つまり、有効なJavaScriptコードも有効なTypeScriptコードでもあります。さらに、TypeScriptコードをJavaScriptに変換するコンパイラ(TSC)を導入し、JavaScriptを実行プラットフォームとしてターゲットにしながら、TypeScriptの追加機能と利点を活用できます。
- TSスコープ-TSCは、コンパイラに含まれるすべてのファイルを同じグローバル空間に属していると考えています。これは、構成に含まれている場合、JSファイルにも適用されます。スコープの破壊を防ぐために、各ファイルはスコープを分離するためにiifeを包みます。
- 技術的には、JavaScriptコードベースの典型的なライフサイクルが開発され、その後にランタイムの実行が続きます。もちろん、ライフサイクルの他の段階があります。これには、伝達、構築、生成、テスト、公開、展開などがあります。簡単にするために、ここでは、すべての平凡な段階を「開発」と「ランタイム」にまとめます。
- これらすべてを考えると、タイプスクリプトは追加のコストとして必須の段階であるコンパイルを導入しますが、バグを大幅に削減する賞品は大歓迎です。
タイプスクリプトになぜ?
- 静的分析 - コードベースは「強く入力された」になります。つまり、オブジェクトの注釈はインターフェイスと宣言に結合され、実行時に各オブジェクトの「形状」または「タイプ」を持つことができます。これにより、アプリケーションを実行する前に(タイプの安全性を介して)キャッチするバグが改善されます。
- ツーリング-TypeScriptをサポートするIDEは、コーディングワークフローを大幅に改善します。 VSCODEは、ボンネットの下で型を使用し、JSコードベースでも役立ちます。
- 読みやすさ - 明示的なオブジェクト定義(タイプの)を持つことは、オブジェクトが何をするか、それがどのように動作するかを理解するのに役立ち、プロパティを持つ「ランダム」オブジェクトではありません。さらにタイプスクリプトは、インターフェイス、ジェネリックなどの言語機能を導入することにより、JavaScriptを後押しします。これらはすべて、コードベースをさらに構成できるようにすることができます。
- 保守性 - タイプの安全性がトリガーされているため、リファクタリングはより簡単かつ安全になります。依存関係、参照などを観察できます。
- 採用 - タイプスクリプトはJavaScriptの上に構築されているため、簡単に採用できます。さらに、それは徐々に起こる可能性があります。
タイプスクリプトはいつですか?
TypeScriptは、Plain JavaScriptを書くことと比較して追加の複雑さを導入することに注意する価値があります。小さなプロジェクトに取り組んでいる場合、締め切りが厳しい場合、または迅速なプロトタイピングが必要な場合、TypeScriptは大きな利点を提供しない可能性があり、JavaScriptがより適切な選択肢になる可能性があります。
貢献
このコードブックはオープンソースプロジェクトであり、貢献を歓迎します!エラーが見つかった場合、改善の提案がある場合、または学習体験を強化するための例を追加したい場合は、Pullリクエストをお気軽に送信してください。一緒に、これをタイプスクリプトコミュニティにとってさらに良いリソースにすることができます。
注:このコードブックは継続的に進化しており、いくつかのトピックが欠落しているか、詳細にカバーされていない場合があります。あなたのフィードバックと貢献は、このリポジトリをすべての人にとってより包括的で価値のあるものにするのに役立ちます。
目次
- 第1章:安全でない
- 第2章:ハローワールド!
- 第3章:プリミティブ
- 第4章:コレクション
- 第5章:機能
- 構文
- リターンタイプはありません
- コンテクスト
- 明示的な議論
- 署名を呼び出します
- コンストラクターの署名
- 過負荷署名
- 休憩パラメーター
- 議論を広めます
- 第6章:オブジェクト
- オプションのプロパティ
- 非ヌルアサーション
- オプションのチェーン
- 匿名
- 参照:これ
- 破壊
- デフォルト値
- Readonly Modifier
- 読み取られた突然変異
- インデックス署名
- 過剰なプロパティチェック
- 第7章:タイプ
- エイリアス
- 連合
- 交差点
- リテラル
- 不明なタイプ
- インラインタイプ
- 一度もない
- 関数型式
- 消去
- オブジェクトタイプ
- 関数タイプ
- 条件付きタイプ
- マッピングされたタイプ
- 文字列操作タイプ
- 第8章:インターフェイス
- 第9章:キャスティング
- 第10章:狭窄
- タイプガード
- 平等
- 含まれています
- 実例
- 割り当て
- 制御フロー
- 述語
- 第11章:ジェネリック
- 第12章:リフレクション
- インデックス作成プロパティ
- タイプリフレクション
- 返品タイプ
- インデックス型タイプ
- 第13章:クラス
- 構文
- フィールド
- 読みます
- コンストラクター
- 過負荷
- スーパーコール
- 方法
- プロパティ
- 継承
- インターフェイス
- オーバーライド
- メンバーアクセス
- 静的メンバー
- 抽象化
- 多型
ライセンス
このプロジェクトは、MITライセンスの下でライセンスされています。詳細については、ライセンスファイルを参照してください。
貢献
このコードブックへの貢献は大歓迎です!バグレポート、機能リクエスト、またはプルリクエストを送信する場合は、貢献ファイルに概説されているガイドラインに従ってください。
ロードマップ
このコードブックの将来の計画には、TypeScriptトピックのカバレッジの拡大、より多くの例の追加、学習を強化するためのインタラクティブなエクササイズの提供が含まれます。さらに、コミュニティのフィードバックを組み込み、報告された問題に対処することを目指しています。
謝辞
貢献、インスピレーション、サポートに感謝します。
- タイプスクリプト:タイプスクリプト言語とコミュニティ。
- 素晴らしいTS:素晴らしいタイプスクリプトリソースのキュレーションリスト。
リソース
タイプスクリプト学習をさらに強化するための追加のリソースを次に示します。
- タイプスクリプトの公式ドキュメント
- タイプスクリプトハンドブック
サポート
問題が発生したり、質問がある場合は、GitHubリポジトリに問題を作成して、お気軽にご連絡ください。
結論
このコードブックに興味を持っていただきありがとうございます!タイプスクリプトの例と説明のこのコレクションがあなたの学習の旅に役立つことを願っています。コードを調査し、実験し、フィードバックを提供することをお勧めします。ハッピーコーディング!