[TS]タイプスクリプトの出現


タイプスクリプトとは?


タイプ
  • のJavaScriptを含む親
  • 静的タイプ言語
    -実行前にタイプインスペクタで正常に動作しているかどうかを確認します.
  • // 타입을 명시
    let a:string;

    静的タイプ解析

  • プログラム実行前(実行時前)、タイプ分析を行う
    -<->ダイナミックタイプ解析
  • プログラムが実行される前に、かなりのエラーが見つかります.
    -JavaScriptコードでは15%のエラーが予防できることが明らかになった.
    -「開発方法を変えることで10%以上のエラーを減らすことができる場合は、
    -MSのエンジニアリングマネージャ
  • コンパイラおよびコードエディタは、コードを実行する必要がなく、詳細について説明します.
    -ex.変数のタイプ情報が分かれば、その変数メンバーとして存在する変数を自動完了候補として推奨します.
  • JavaScriptの親セット

  • 既存javascriptコードライブラリを移行するワークロードが小さい
  • 学習曲線比較緩やか
  • サードパーティJavaScriptパッケージは比較的簡単です
  • JavaScriptに静的マッピングを導入する他の言語

  • Elm, Reason, PureScript, ...
  • JavaScriptとはかなり異なる点があります:
  • 手を放す

  • 「正確なタイプのシステムを安全かつ実証的に使用するよりも、正確性と生産性のバランスを重視しています.」
    -タイプスクリプトを作成してターゲットとする:
  • function getFirstThreeCharsUnsafe(arg: { x: string | null }) {
        if (arg.x !== null) {
            window.alert('arg.x is string!');
            console.log(arg.x.substr(0, 3));
        }
    }
    
    
    var a: { x: string | null } = { x: 'ok' };
    window.alert = function (str: string) {
        a.x = null;
    };
    // 타입 검사가 통과했음에도 불구하고 null을 바꿔버리는 순간 런타임 오류 발생
    getFirstThreeCharsUnsafe(a);
  • 型の安定性を犠牲にして使用性を最大化した言語といえる.
  • コミュニティ

  • MS、Google、Slack、Tumblrなど多くの企業がこのタイプのスクリプト
  • を使用しています.
  • 最近のタイプのスクリプトの注目度と成長傾向は急速に増加しています.