非同期が 10 倍高速になることに加えて、JavaScript は他に何をもたらしますか?
今日の JavaScript はユビキタスです。従来の方法で JavaScript を使用すると、開発者はさまざまな Web ブラウザで Web アプリケーションを作成できます。Node.js を通じて、コマンド ライン ツールやサーバー アプリケーションを開発できます。デスクトップの分野では、クロスプラットフォームです。デスクトップ アプリケーションは、JavaScript および HTML や CSS などの Web テクノロジに基づく Electron フレームワークを通じて構築でき、React Native を使用してクロスプラットフォームのモバイル アプリケーションを開発でき、さらに JavaScript は IoT デバイス上でも実行できます。
Ecma TC39 は、ECMAScript エコシステムの開発を管理します。これは、現在の JavaScript 言語の背後にある標準です。Google V8 チームは、JavaScript 関連の標準化作業に積極的に参加しています。
V8 は Google のオープン ソース JavaScript エンジン (WebAssembly エンジンでもあります) で、Chrome、Node.js、Electron などのプラットフォームはすべて V8 に基づいています。同時に、Chrome に加えて、Opera や次期 Microsoft Edge など、Chromium をベースとする一連の Web ブラウザも、最下位は V8 をベースとしています。
推奨学習: 「JavaScript ビデオ チュートリアル 」
数日前の Google I/O 2019 で、V8 チームの Mathias Bynens 氏とSathya Gunasekaran が JavaScript の最新の開発進捗状況を共有しました。
V8 チームは、最新の JavaScript と WebAssembly の高いパフォーマンスをリードすることが自分たちの使命であると述べています。共有者がパフォーマンスを説明するために「現実世界」を使用し、いわゆる「現実世界のパフォーマンス」は、純粋にベンチマーク データのためのパフォーマンスとは対照的です。Google は、達成したいのは、あまり「アウト」ではなく、現実の生活で実際に達成できる高いパフォーマンス効果であることを強調しています。 -世界の"。
彼らはいくつかの例を挙げました。 Chrome 61 以降、V8 チームは 生の JavaScript 解析速度 を 2 倍にしており、これらの数値は実際の Web サイトでテストされています。同時に、メインスレッドから解析およびコンパイル作業の 40% を削除することに成功し、Web ページの起動がよりスムーズになりました。
Chrome に加えて、Node.js にも速度の向上が明確に反映されています。Node.js 7 と比較して、Node.js 12 では async の速度が向上しています。 10 倍、Promise.all は 12 倍高速です。
解析速度と実行時のパフォーマンスの向上に加えて、メモリ使用量も削減されました。Chrome 70 から Chrome 76 では、実際の実行時の メモリ消費量は減少しました。 Android 上の Web アプリケーションが削減されました。20%。
# 方言の口語的な時間フレーズの表示を使用する API
これは、多くの新しい Intl.* API の 1 つであり、視聴者によってよく議論されている機能でもあります。 * は国際化機能を指します。
私たちが日常生活で時間を参照するとき、「先週」、「先月」、「42 秒前」と言います。新しい Intl.RelativeTimeFormat() 関数を使用すると、プログラムは特定の時間を使用できます。この言語は、「1 週間前」、「1 か月前」、「42 秒前」という単純な表現の代わりに、これらのフレーズを返します。 スピーカーはこの機能を英語とタミル語でデモンストレーションしました。その効果は次のとおりです:現在この機能は次のとおりです。秒、分、時間、日、週、月、季節のフレーズ表現がサポートされており、複数の言語がサポートされているため (中国語サポートが利用可能かどうかは不明)、開発者は相対時間フレーズの専用リストを維持する必要がなくなりました。
globalThis
Node.js であろうと Web ブラウザであろうと、さまざまなプラットフォームに適した JavaScript を作成したい場合は、対応するコードが必要です。 Webブラウザなどのグローバルな「this」に適応させるには「window」を使って判断する必要がありますが、「window」が利用できない場合には「self」を使って確認する必要もあります。Nodeでは、 「グローバル」で判断しますが、独立したJavaScriptシェル環境の場合はまた状況が変わります。
環境要因は非常に複雑で、さまざまなプラットフォーム環境には複雑な適応プロセスが必要であり、開発者にとっては非常に苦痛となるため、V8 チームは「globalThis」機能を追加しました。環境に依存せず、グローバルな「これ」に簡単にアクセスできます。
現在、Chrome、FireFox、Safari、Node.js はすべてこの機能をサポートしています。また、「this」へのグローバル アクセスを必要とするポリフィルやその他のライブラリにも適用できます。この観点から、この機能は比較的大きな改善です。
WeakRef
通常、JavaScript におけるオブジェクト参照は、そのオブジェクトが参照されている限り、そのオブジェクトは GC にならないことを意味します。オブジェクトが参照されなくなると、オブジェクトがまだ参照された構造内にあるかどうかに関係なく、GC メカニズムはオブジェクトによって占有されているメモリを自動的に再利用します。
現在、JavaScript には WeakMap と WeakSet という 2 つの弱参照メソッドがあります。オブジェクトが WeakMap または WeakSet に追加されている限り、条件がトリガーされたときに GC はそのオブジェクトによって占有されているメモリをリサイクルできます。
WeakRef は、オブジェクトのライフサイクルへのウィンドウを提供するより高度な API であり、WeakMap がオブジェクト タイプをキーとしてのみサポートするシナリオを解決できます。
講演者はキャッシュされた画像を例に挙げましたが、Map は画像のキーと値をロックし、画像名と画像データは常に参照されるため GC されないようにします。一方、弱参照 WeakMap はここでは機能しません。これは、イメージ名が文字列型であり、WeakMap ではそのキーがオブジェクト型のみであると規定されているためです。
WeakRef は、画像オブジェクトを直接キャッシュすることでこの問題を解決します。画像名をキーとして使用し、WeakRef の弱参照を値としてキャッシュに保存します。しかし、これは別の問題を引き起こします。イメージ名が Key であるため、マップはこれらのイメージ名の文字列を保持したままになります。理想的には、これらの文字列も GC 処理されます。
WeakRef の解決策は、新しい API「FinalizationGroup()」を導入し、コールバック関数を登録し、GC 実行時に前述の「残差」をキャッシュから削除することです。トリガーされます。イメージ名文字列」。
これらの点に加えて、新しい JavaScript 言語機能には次のような機能も含まれています。
クラス フィールドを直接指定できます。クラス コンストラクターに変数を記述せずに変数を初期化します。
プライベート セッターとゲッター
String .matchAll は複数の通常の一致を実行できます
数字の読みやすさを向上させ、数字を書くときに区切り文字として「_」を使用できるようになりました
新しい大きな数値型 BigInt
いくつかの Intl.* API を新たに追加しました。つまり、国際化用に使用します。数値表示のローカライズされた書式設定用の Intl.NumberFormat、時間のローカライズされた表示用の Intl.RelativeTimeFormat() および Intl.DateTimeFormat() などの API
# トップ-level await、async を記述する必要はありません
新しい Promise 関数 Promise.allSettled() および Promise.any()
具体的な内容については、スピーチのビデオをご覧ください:
https://www.youtube.com/watch?v=c0oy0vQKEZE
以上が非同期が 10 倍高速になることに加えて、JavaScript は他に何をもたらしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

JavaScript は Web 開発で広く使用されているプログラミング言語であり、WebSocket はリアルタイム通信に使用されるネットワーク プロトコルです。 2 つの強力な機能を組み合わせることで、効率的なリアルタイム画像処理システムを構築できます。この記事では、JavaScript と WebSocket を使用してこのシステムを実装する方法と、具体的なコード例を紹介します。まず、リアルタイム画像処理システムの要件と目標を明確にする必要があります。リアルタイムの画像データを収集できるカメラ デバイスがあるとします。
