将来のJavaScriptは:タイプが最終的にJavascriptに来る可能性があります
6626 ワード
Type Annotationsのプロモーションレベル1段階への促進で、JavaScriptはより強力にタイプされた言語であることへの1ステップ近いです.JavaScriptのための変更が意味するものに飛び込みましょう.
JavaScriptは動的にタイプされます.それは、それが現れるところで何かのタイプを理解することを意味します.例えば、
つまり、私たちが時々このような愚かなことをすることによって私たちのコードを証明しなければならないことを意味します.
これらの理由から、ハードルールでJavaScriptの型付け言語を作る強力なプッシュはありませんでした.JavaScriptのアクセシビリティは、その偉大な特徴の一つであり、追加タイプは初心者のためにそれを難しくするだけでなく、潜在的に多くの既存のWeb技術を破壊する潜在的なJavaScript上に構築された.
そのように、オプションのパッケージは代わりに開発されました.これらはJavaScriptを取り、強く宣言された型の言語に変換します.
新しいタイプの注釈の提案は、ミドルグラウンドを検索しようとするので、JavaScriptはアクセスできるままですが、より簡単に型のような高度な機能を可能にします.
ある意味では、これは必然性だった.強力なタイプが一貫してJavaScriptのための最も要求された開発者の機能の上に出てくる:
明確にすると、型注釈はJavaScriptを強く型指定された言語にしません.代わりに、JavaScriptを型で動作させます.この仕様が実装段階に達すると、JavaScriptに型を追加すると、単に無視されます.ただし、typescriptでコンパイルする場合は、型は通常通りに動作します.
以前にタイプスクリプトを使用しているなら、あなたはどのようにタイプ注釈を見ているかについてよくわかります.たとえば、変数の型を定義するには次のようになります.
次のようなコードを書きましょう
あなたが期待するタイプの一般的な名簿は、タイプ注釈で見つかります.例えば-
主な理由は、ブラウザの開発がより合理化され、DenoとNodeのようなJavaScriptの生態系をバックエンドすることです.JSはより人気があるようになりました、JavaScriptがより少ない、そして、より少ない構築ステップに移動する機会がありました.大きな変更はtypescriptが付属しています.ここでは、スクリプトファイルを実行するにはJavaScriptに戻す必要があります.これは明らかに、開発者のための時間がかかると時々危険なステップであり、間違いなく効率を制限します.
typescriptの型注釈の主な描画の1つは別のビルドステップを削除することです.ネイティブのtypescriptは、JavaScriptには、開発者の経験を大幅に最適化に変換する必要がなく、ブラウザで実行することができます.
同様に、このタイプの注釈行為はJavaScriptの型定義に標準のベースを与えます.JavaScriptで型の最も合意された部分を標準化することによって、それはすべてのタイプコンパイラの一貫性を確実にします.そして、開発者にとってものをより簡単にします.
結論として、タイプはJavaScriptに来ているが、おそらく人々が想定した方法ではない.JavaScriptは動的にタイプされた言語のままですが、それはネイティブにタイプ宣言を受け入れます.この仕様はまだステージ1であるので、多くは変わるかもしれません-しかし、JavaScriptがより強くタイプされた世界にその第一歩を踏み出すのは、刺激的な時間です.
JavaScriptの型
JavaScriptは動的にタイプされます.それは、それが現れるところで何かのタイプを理解することを意味します.例えば、
let x = 1; // typeof "number"
let y = "1"; // typeof "string"
複雑なアプリケーションとシステムでは、これは巨大な弱さです.アプリケーションは、あなたのAPIがfalseの代わりに“false”を返すようなものの最小のために転倒することができます.つまり、私たちが時々このような愚かなことをすることによって私たちのコードを証明しなければならないことを意味します.
if(x === true || x === "true") {
// this is true
}
これは、ウールのソフトウェアエンジニアの染色のための巨大な迷惑ですが、初心者のため、JavaScriptは贈り物です.JavaScriptはとても簡単な方法で非常に複雑なことを書くことができます.あなたのコードが間違っているならば、JavaScriptは通常それを働かせる方法を見つけます.ほとんどのJavaScript開発者は、彼らが最初に好きである柔軟性がすぐに彼らが言語でより有能になるので、痛みになるとわかります.これらの理由から、ハードルールでJavaScriptの型付け言語を作る強力なプッシュはありませんでした.JavaScriptのアクセシビリティは、その偉大な特徴の一つであり、追加タイプは初心者のためにそれを難しくするだけでなく、潜在的に多くの既存のWeb技術を破壊する潜在的なJavaScript上に構築された.
そのように、オプションのパッケージは代わりに開発されました.これらはJavaScriptを取り、強く宣言された型の言語に変換します.
JavaScriptの種類
新しいタイプの注釈の提案は、ミドルグラウンドを検索しようとするので、JavaScriptはアクセスできるままですが、より簡単に型のような高度な機能を可能にします.
ある意味では、これは必然性だった.強力なタイプが一貫してJavaScriptのための最も要求された開発者の機能の上に出てくる:
タイプ注釈はどのように動作するか
明確にすると、型注釈はJavaScriptを強く型指定された言語にしません.代わりに、JavaScriptを型で動作させます.この仕様が実装段階に達すると、JavaScriptに型を追加すると、単に無視されます.ただし、typescriptでコンパイルする場合は、型は通常通りに動作します.
以前にタイプスクリプトを使用しているなら、あなたはどのようにタイプ注釈を見ているかについてよくわかります.たとえば、変数の型を定義するには次のようになります.
let x:string = "String";
let x:number = 5;
JavaScriptは型注釈の後にどのように動作するか
次のようなコードを書きましょう
let x = "String";
console.log(x);
後で行を入力すると、型を追加したいと思います.タイプスクリプトを使用してコンパイルする必要がない代わりに、タイプの注釈を使用すると、単にJavaScriptファイルに種類を追加できます.let x:string = "String";
console.log(x);
この場合、:string
はJavaScriptによって単に無視されます--それはタイプされていないJavaScriptと互換性を持ち続けていて、タイプスクリプトのようなタイプ束を意味します.つまり、typescriptでビルドできますが、通常の.js
ファイルとして実行することもできます.バニラJavaScriptファイルの型は、最終的にコメントです.型注釈の型の他の例
あなたが期待するタイプの一般的な名簿は、タイプ注釈で見つかります.例えば-
インタフェース
interface Name {
firstName: string,
lastName: string
}
ユニオンタイプ:
function test(x: string | number) {
console.log(x);
}
ジェネリックタイプ:
type Test<T> = T[];
let x:Test<number> = [ 1, 2, 3, 4 ];
型注釈の背後の論理
主な理由は、ブラウザの開発がより合理化され、DenoとNodeのようなJavaScriptの生態系をバックエンドすることです.JSはより人気があるようになりました、JavaScriptがより少ない、そして、より少ない構築ステップに移動する機会がありました.大きな変更はtypescriptが付属しています.ここでは、スクリプトファイルを実行するにはJavaScriptに戻す必要があります.これは明らかに、開発者のための時間がかかると時々危険なステップであり、間違いなく効率を制限します.
typescriptの型注釈の主な描画の1つは別のビルドステップを削除することです.ネイティブのtypescriptは、JavaScriptには、開発者の経験を大幅に最適化に変換する必要がなく、ブラウザで実行することができます.
同様に、このタイプの注釈行為はJavaScriptの型定義に標準のベースを与えます.JavaScriptで型の最も合意された部分を標準化することによって、それはすべてのタイプコンパイラの一貫性を確実にします.そして、開発者にとってものをより簡単にします.
結論
結論として、タイプはJavaScriptに来ているが、おそらく人々が想定した方法ではない.JavaScriptは動的にタイプされた言語のままですが、それはネイティブにタイプ宣言を受け入れます.この仕様はまだステージ1であるので、多くは変わるかもしれません-しかし、JavaScriptがより強くタイプされた世界にその第一歩を踏み出すのは、刺激的な時間です.
Reference
この問題について(将来のJavaScriptは:タイプが最終的にJavascriptに来る可能性があります), 我々は、より多くの情報をここで見つけました https://dev.to/smpnjn/types-may-finally-be-coming-to-javascript-56a2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol