Typescript


目的


バックエンド開発者であっても、フロントエンドで最も流行している技術の最低駆動原理を知ることで、チームプロジェクトのViewを自然に熟知することができます.
中でもTypeScriptについては、Angularを理解するための先行学習だと思います.
Angular
https://velog.io/@mon99745/Angular

TypeScriptとは?


TypeScriptはJavaScriptベースのオープンソースプログラミング言語です.
タイプスクリプトは、JavaScriptエンジンを使用して大規模なアプリケーションを開発する言語です.
JavaScriptの基本なので、JavaScriptで書かれたプログラムもタイプスクリプトプログラムとして使用できます.

Type Scriptの特徴


Type Scriptは、大規模なアプリケーション開発において、次の3つの特徴をサポートしています.
1.ES 6モジュールとネーミングスペース
タイプスクリプトは、ES 6が提供するモジュール宣言およびモジュール呼び出し方式をサポートします.また、クラスの増加と数の増加に伴い、類似機能のクラスをグループに分ける必要があります.この場合、タイプスクリプトはネーミングスペースをサポートし、ライブラリユニットのモジュール構成に有利です.
  • クラスとインタフェース
    タイプスクリプトはES 6のクラスフィーチャーを受け入れ、インタフェースフィーチャーをサポートし、完全なオブジェクト向けプログラミング環境を提供します.従来のオブジェクト向け言語で使用されているキーワードはclass、interface、extendsのように使用できます.既存の言語との違いは、タイプスクリプトがJavaのように複数のジェネレータを宣言できないことです.また、Javaとは異なり、タイプスクリプトはデバッガの初期化パラメータと選択パラメータを宣言できます.
  • タイプシステム
    タイプスクリプトはタイプシステムをサポートします.タイプシステムはjavascriptのタイプを拡張し、タイプ説明を使用して変数にタイプを宣言します.このようにタイプを指定すると、変数は厳格なタイプを使用して、タイプの安定性を確保します.
  • コアタイプスクリプトコンパイラ



    タイプスクリプトのアーキテクチャでは、言語変換機能はコアタイプスクリプトコンパイラによって実行されます.コアタイプスクリプトコンパイラは、解析器、バインド器、タイプフィルタ、テスタ、およびフロントプロセッサから構成されます.

  • 解析器(parser):取得したソースコードを解析して構文ツリーを作成し、構文ツリーを再解析して抽象構文ツリーを生成します.

  • Binder(binder):インタフェース、モジュール、または関数などのモジュールに宣言がある場合、これらの宣言をシンボル(Symbol)と見なし、シンボル間のルールを定義します.

  • タイプチェッカー(type checker):タイプ宣言の構文を解析し、タイプが正しいかどうかを確認します.

  • 放射計:入力しました.tsのようなタイプのスクリプトファイル.js, .d.ts, .js.mapタイプファイル生成の機能を実行します.

  • プリプロセッサ(pre-processor):タイプスクリプトファイルで宣言されたimport文または外部呼び出し宣言時に参照できるファイルを取得し、ソートファイルリストを生成します.ファイルリストを作成するとき.d.tsより.tsファイルインポートを優先的に呼び出します.最終的に、コンパイラは、フロントプロセッサによって生成されたファイルリストを使用してファイルを呼び出し、コンパイルを実行します.
  • 言語機能


    ファイルの宣言
    function add(left: number, right: number): number {
    	return left + right;
    }
    カテゴリ
    class Person {
        private name: string;
        private age: number;
        private salary: number;
    
        constructor(name: string, age: number, salary: number) {
            this.name = name;
            this.age = age;
            this.salary = salary;
        }
    
        toString(): string {
            return `${this.name} (${this.age}) (${this.salary})`; // As of version 1.4
        }
    }
    
    リファレンス(リファレンス)
  • https://ko.wikipedia.org/wiki/%ED%83%80%EC%9E%85%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8
  • https://typescript-kr.github.io/
  • https://poiemaweb.com/typescript-introduction