Type Scriptのメリット
8845 ワード
1.JavaScriptの履歴
1995年にNetscape社のBrandan EichがWebブラウザNavigator 2に搭載するために開発したスクリプト言語である.
Webアシスト機能を実行するための限定的な用途であり、この時期、ほとんどの論理は主にWebサーバ上で実行され、ブラウザ(クライアント)はサーバからのHTMLとCSSをレンダリングする.
HTML 5が登場するまでプラグインに依存するインタラクティブなWebページを構築してきましたが、HTML 5が登場した後、プラグインに依存する方法はJavaScriptに取って代わられました.
また、AJAXのアクティブ化によりSPAが主流となり、過去にサーバ側の多くの作業がクライアントに移行したため、JavaScriptは重要な言語となり、Webのアセンブリ言語と呼ぶことができるようになった.
2.JavaScriptやC、JavaなどのC-family言語との違い
3.TypeScript
上記の特性は、デバッグやテスト作業量の増加などの問題を引き起こす可能性があり、特に規模の大きいプロジェクトでは、これらの問題に特に注意する必要があるため、C#の創始者でデンマークのソフトウェアエンジニア
Anders Hejlsber(아네르스 하일스베르)
が開発したTypeScriptは、Microsoftが2012年に発表したオープンソースであり、静的であるEX 6(ECMAScript 2015)のクラス、モジュールなど、ES 7のDecoratorなどをサポートします.ソース:https://poiemaweb.com/typescript-introduction
4.Type Scriptのメリット
統合開発環境(IDE)など、さまざまなツールをサポートします.IDEなどのツールにタイプ情報を提供することで、より高いレベルのスマートライセンス、コード・アシスタント、タイプチェック、再構築などのサポートを受けることができます.ツールのサポートも大規模なプロジェクトに必要です.
インタフェース、汎用などの強力なオブジェクト向けプログラミングリソースは、膨大で複雑なプログラミングコードの基礎を簡単に構築し、クラスベースのオブジェクト向け言語に精通している開発者の障害を低減します.
その利点は、ES 6を完全にサポートしていないブラウザを考慮して、他のコンバータを使用せずに開発環境を構築できることです.
また、TypeScriptはECMAScript規格には組み込まれていませんが、標準化能力の強いspecを先制的に導入し、新しいspecの有用な機能を安全に導入するのに役立ちます.
TypeScriptだけでなくJavaScriptやDartを使って作成することもできますが、Angularドキュメントやコミュニティ活動で最も多く使われているのはTypeScriptです.
function sum(a, b) {
return a + b;
}
sum('x', 'y') //'xy'
以上のようにJavaScriptでは,どのタイプのパラメータを渡すべきか,どのタイプの戻り値を返すべきかはコードでは不明である.JavaScriptの構文に問題がないため、上記のコードが実行されます.
これは,変数や戻り値を予め指定していないタイプのJavaScriptの動的タイプ化(Dynamic Type)が原因である.
function sum(a: number, b: number) {
return a + b;
}
sum('x', 'y');
// error TS2345: Argument of type '"x"' is not assignable to parameter of type 'number'.
TypeScriptは静的タイプをサポートし,コンパイル段階でエラーをキャプチャする利点がある.明確な静的タイプ指定は,開発者の意図をコードで明確に記述できる.これにより、コードの可読性、予測性が向上し、デバッグが容易になります.ソース:https://poiemaweb.com/typescript-introduction
タイプ宣言
function CheckNumberIsZero(par){
return par == 0;
}
checkNumberIsZero(0); //true
checkNumberIsZero([]); //true
checkNumberIsZero(""); // true
checkNumberIsZero(false); //true
checkNumberIsZero(this); //? (this에 따라 달라진다.)
以上のようにjavascriptでは、checkNumberIsZero()
関数はパラメータのタイプを制限せず、任意のタイプやパラメータとして使用し、比較部分で強制変換を行い、ビジネスでは考えられない動作を生み出すことができます.function checkNumberIsZero(par: number): boolean {
return par === 0;
}
checkNumberIsZero(0); //true
checkNumberIsZero([]); // error
checkNumberIsZero(""); // error
checkNumberIsZero(false); // error
checkNumberIsZero(this); // error
これにより、タイプスクリプトを作成できます.ソース:人間スケート技術ブログ
ソース
1. https://poiemaweb.com/typescript-introduction
2. 人間スケート技術ブログ
Reference
この問題について(Type Scriptのメリット), 我々は、より多くの情報をここで見つけました https://velog.io/@hey_jude/TypeScript의-장점テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol