How JavaScript Works?

How JavaScript Works

How JavaScript Works

Introduction to How JavaScript Works?

JavaScriptとはブラウザ内でインターフェースとして用いられるスクリプト言語であり、その動作には以下の特徴があります。 Brendan Eich は、Netspace 社の Netspace Navigator Web ブラウザ用に JavaScript エンジンを作成した最初の人物でした。 C言語で実装され、コードネームはSpiderMonkeyであった。 Mocha は当初プロジェクトに与えられた名前で、その後 LiveScript に改名され、最後に Netspace と Sun がライセンス契約を結んだときに再び JavaScript に改名されました。 このトピックでは、javascriptがどのように動作するかについて学びます。 V8、Spider Monkeyなどの有名なエンジンについて聞いたことがあると思います。 例えば、

  • V8 – Opera & Chrome で使用されているエンジン
  • SpiderMonkey – Firefox で使用されているエンジン
  • Trident, Chakra – IE & Nitro で使用されているエンジン
  • ChakraCore – Microsoft Edge で使用されているエンジン
  • SquirrelFish – Safari で使用されているエンジン
  • Trinod – IE & Chromacy Chrome で使用されているエンジン
  • V8 – Opera で使用されているエンジン。

Javascript に使用されるエンジンは、主に 2 つのコンポーネントで構成されています。

Start Your Free Software Development Course

Web 開発、プログラミング言語、ソフトウェア テスト & others

  • Heap Memory- ここでメモリの割り当てが実行されるのです。
  • Call Stack – スタックが呼び出され、コードが実行される場所です。

NOTE:

JavaScript, a single-threaded programming language, which means it has a single Call Stack and thus it has the ability to do one thing at a time. コールスタックは基本的にデータ構造であり、実際に実行されているプログラムのポイントを記録します。 このコールスタックは他のスタックと似ていて、ある関数に入るとそれをスタックの一番上に置くというような基本的な機能を持っている。 関数に入るときはスタックの一番上に置き、関数から戻るときはスタックの一番上から弾き出さなければならない。 これが、すべてのスタックの基本的な機能です。

  • ブラウザがスクリプトを読み込むと、エンジンはブラウザ自体に組み込まれます。
  • スクリプトを読み込んだら、スクリプトを機械語に変換(「コンパイル」)し、機械語がかなり高速で実行されます。

インブラウザ JavaScript ワークスで何ができるのか。

  • 既存のコンテンツを変更し、ページに新しい HTML を追加してスタイルを変更します。
  • マウス クリック、マウス ホバーなどの機能を提供して、ユーザーのアクションに反応します。
  • これでクッキーの値を設定および取得し、情報、警告およびその他の目的のためにユーザーにメッセージを提供できます。
  • また、クライアント側に一時データを保存できます。

ブラウザ内の JavaScript 作品でできないことは? その目的は、ある第三者の Web ページが個人情報にアクセスしたり、ユーザーのデータに危害を加えたりするのを防ぐことです。 このようなアクセス制限のシナリオをいくつか紹介します。

  • デフォルトでは、Web ページ上の JavaScript は、ハード ディスク上の任意のファイルの読み取り/書き込み、コピー、またはプログラムの実行が制限されています。 OS のシステム機能への直接アクセスもできません。 最近のブラウザでは、ファイルを操作することもできますが、同じように、ブラウザのウィンドウにファイルを「ドロップ」するなど、ユーザーが特定の操作をした場合にのみアクセスできるように制限されています。 また、カメラやマイクなどのデバイスと連動させる方法もありますが、これもユーザーからの明示的な許可が必要です。 したがって、JavaScript を有効にしたページが密かに Web カメラを有効にしたり、リモート サーバーや第三者に情報を送信したりすることはできません。
  • 異なるタブやウィンドウは、一般に互いのインスタンスについて知ることはありません。 しかし、技術的にはそれは非常に可能です。 同じものを「同一生成元ポリシー」と呼びます。 同じことを行うには、両方のインスタンスに、互いのデータ交換を処理できる特別な JavaScript コードが含まれている必要があります。 しかし、この制限もまた、ユーザーの安全のために存在する。 たとえば、ユーザーが開いた abc.com という URL の Web ページが、xyz.com という URL の別のブラウザ タブにアクセスして、こっそり情報を盗むようなことがあってはなりません。
  • これを使用すると、現在のページがどこから来たのか、任意のリモート サーバーまたは第三者とネット上で簡単に通信することができます。 しかし、セキュリティ上の理由から、他のサイトやドメインからのデータを受信または送信する機能は無効になっています。 しかし、同じことはまだ可能で、そのために一部のJavaScriptの動作はリモート側からの明示的な合意を必要とします。 JavaScriptがブラウザの内部ではなく外部で、つまりサーバーから使用される場合、このような制限は提供できません。 また、最近のブラウザのいくつかは、プラグインや拡張機能をインストールすることにより、ブラウザ内で使用される JavaScript 作品が拡張されたパーミッションを得ていることにお気づきかもしれません。
  • これは C 言語で書かれており、インタプリタ型言語です。
  • Pure JavaScript は DOM にアクセスするのがより高速です。
  • また、ユーザーのブラウザと OS さえも検出することができます。
  • それは軽量です。
  • それはすでに述べたように、インタプリタベースのスクリプティング言語です。
  • Java のように定義済みのオブジェクトを提供するので、オブジェクトベースの言語ですが、Java ではありません。
  • JavaScript のすべての文は、セミコロン (;) で終わらなければなりません。 JavaScript で関数を宣言するには function
  • HTML と CSS の完全サポート。
  • 非常に使いやすい。

制限事項

多くの利点がある一方で、JavaScript には以下に示すような制限もあります:

  • JavaScriptはクライアント側にあり、ディスク上のファイルの読み取りまたは書き込みの機能を提供しません。
  • マルチスレッドやマルチプロセッサのような機能は提供しません。

結論

以上より、私たちは JavaScript の進化に関するいくつかの基本情報、Web ブラウザ上で JavaScript を実行するいくつかの有名エンジン、ブラウザの中に JavaScript を置く利点、ブラウザの外に JavaScript を置いて実行するとどうなるかについて知ることとなりました。 また、JavaScriptの制限や欠点とともに、JavaScriptを有用でユニークなものにしているいくつかの特徴にも触れてきました。

おすすめ記事

これは、JavaScriptの仕事へのガイドであった。 ここでは、基本的な概念、制限、および何が他のものとjavascriptをユニークにしているかについて説明しました。 また、以下の記事も参考にしてください –

  1. Cheat Sheet JavaScript
  2. Uses of JavaScript
  3. JavaScript vs JScript
  4. C# vs JavaScript
0 Shares

コメントを残す

メールアドレスが公開されることはありません。