導入
UI 要素を操作するために特別に構築された言語である JavaScript が、なぜ最も広く使用される言語になったのか疑問に思ったことはありますか?もはや UI 操作だけではありません。 JavaScript は現在、フロントエンドからバックエンド開発、機械学習など、あらゆる場所で広く使用されています。このシリーズでは、ランタイム、特に人気のある JavaScript ランタイムを詳しく掘り下げ、これらのツールによってどのように JavaScript がブラウザを超えて動作できるようになったのかを探っていきます。
JavaScript: 起源と背景
90 年代半ば、ウェブは初期段階にありました。毎日ホストされる Web サイトが増え、大衆がパーソナル コンピューティングを利用できるようになったことで、Web は驚異的な速度で成長しました。
当時、ウェブは主に静的であり、ユーザーとの対話はありませんでした。ほとんどの人は、AOL、Yahoo、Netscape Navigator などの Web ブラウザを使用して Web を閲覧していました。これら 3 つのブラウザの中で、Netscape はユーザー数と技術革新の両方でリードしていました。 Netscape のチームは、ウェブの成長に伴い双方向の対話が必要であることに気づきました。
このニーズに対処するために、彼らは 1995 年 4 月にブレンダン・アイヒを雇い、新しい言語を作成しました。 Scheme やその他のプログラミング言語の経験があったアイヒ氏は、1995 年 5 月にわずか 10 日間で JavaScript の最初のバージョンを開発し、その後 Netscape Navigator 用の JavaScript エンジンを作成しました。この開発は Web 2.0 の始まりを示しました。
JavaScript エンジン: 最新の Web を強化する
JavaScript エンジンは、単に JavaScript コードを解釈するコンピューター プログラムです。エンジンはコードの実行を担当します。最初の JavaScript エンジンはブレンダン・アイヒによって開発されましたが、それは単なるインタープリターでした。最新の JavaScript エンジンは大幅に進化しており、JIT (ジャストインタイム) コンパイルなどの手法を使用してパフォーマンスを向上させています。 JIT コンパイルでは、コード全体が一度にマシンコードに変換され、すぐに実行されます。
すべての JavaScript エンジンには、コール スタックとヒープという 2 つの基本コンポーネントが含まれています。コール スタックはコードが実行される場所であり、ヒープはアプリケーションで必要なすべてのオブジェクトが保存されるメモリ内の場所です。
Google の V8 エンジンは JIT コンパイルを初めて導入したものであり、ゲームチェンジャーでした。現在、これは最も広く使用されているエンジンであり、すべての Chromium ベースの Web ブラウザー、Electron フレームワークを使用して構築されたアプリケーション、Node.js や Deno などのランタイム システム、および Chromium を組み込むその他のフレームワークで利用されています。
V8 以外にも、次のような注目すべき JavaScript エンジンがあります。
- SpiderMonkey - Firefox とそのフォークで使用されます。
- JavaScriptCore - Safari ブラウザと Bun ランタイム システムで使用されます。
JavaScript ランタイム: ランタイムとは正確には何ですか?
一言で言えば、ランタイムとは、コードをコンパイルしたりリアルタイムで実行したりできるシステムです。 JavaScript ランタイムは本質的に、JavaScript エンジン、コールバック キュー、一連の API を含むラッパーであり、JavaScript コードを実行する環境を提供します。
コードを実行するには JavaScript エンジンが重要であることは理解していますが、それを便利にするには API が必要です。これらの API により、コードは Web ページ、ネットワーク、データベース、ファイル システムと対話できるようになります。たとえば、Web ブラウザーはブラウザー イベントを処理し、DOM と対話するための Web API を提供しますが、Node.js は I/O 操作用の API を提供します。
ランタイムとは何かについて説明したので、サーバー上でコードを実行するために最も広く使用され、高く評価されている 2 つの JavaScript ランタイム システムを見てみましょう
-
Node.js:
- Node.js は、オープンソースのクロスプラットフォームの JavaScript ランタイム環境です。
- Google Chrome のコアである V8 JavaScript エンジンをブラウザの外部で実行します。これにより、Node.js のパフォーマンスが非常に向上します。
- Node は、JavaScript コードのブロックを防ぐ非同期 I/O プリミティブのセットを標準ライブラリで提供します。
-
Bun.sh:
- Bun は、速度を重視して設計されたオールインワンの JavaScript ランタイムおよびツールキットで、バンドラー、テスト ランナー、Node.js 互換のパッケージ マネージャーを備えています。
- これは、Safari 用に構築されたパフォーマンス重視の JS エンジンである JavaScriptCore を拡張します。これにより、JavaScript ランタイムが最速になります。
- Bun は、HTTP サーバーの起動やファイルの書き込みなどの一般的なタスクを実行するための、高度に最適化された API の最小限のセットを提供します。
今回のエピソードはここまでです。次回のエピソードでは、Node.js の起源と、強力なサーバーサイド アプリケーションを構築するためのそのコア API について詳しく説明します。乞うご期待!
以上がJavaScript ランタイム: JavaScript ランタイムの概要。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

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