web-dev-qa-db-ja.com

JavaScriptとJavaの違いは何ですか?

JavaScriptとJavaの違いは何ですか?

77
Guy

JavaとJavascriptは、CarとCarpetが似ているように似ています。

574
Greg Hewgill

1つは基本的に、小さなコードを書くために設計されたおもちゃで、経験の浅いプログラマーによって伝統的に使用され、悪用されています。

もう1つは、Webブラウザー用のスクリプト言語です。

408
Shog9

2つの言語の違いを次に示します。

  • Javaは静的に型付けされた言語です。 JavaScriptは動的です。
  • Javaはクラスベースです。 JavaScriptはプロトタイプベースです。
  • Javaコンストラクターは、オブジェクトの作成時にのみ呼び出すことができる特別な関数です。 JavaScriptの「コンストラクター」は単なる標準関数です。
  • Javaでは、すべての非ブロックステートメントがセミコロンで終了する必要があります。 JavaScriptは、特定の行の終わりにセミコロンを挿入します。
  • Javaはブロックベースのスコープを使用します。 JavaScriptは関数ベースのスコープを使用します。
  • Javaには、非静的メソッド用の暗黙的なthisスコープと、暗黙的なクラススコープがあります。 JavaScriptには暗黙的なグローバルスコープがあります。

JavaScriptの特定の長所だと思ういくつかの機能を以下に示します。

  • JavaScriptはクロージャーをサポートしています。 Javaは、匿名クラスを使用してソートの「クロージャ」をシミュレートできます。 (実際のクロージャは、Javaの将来のバージョンでサポートされる可能性があります。)
  • JavaScript関数はすべて可変個です。 Java関数は、明示的にマークされている場合のみ可変長です。
  • JavaScriptプロトタイプは実行時に再定義でき、すべての参照オブジェクトに即座に影響します。 Javaクラスは、既存のオブジェクトインスタンスに影響を与える方法で再定義できません。
  • JavaScriptを使用すると、オブジェクトのメソッドをプロトタイプとは無関係に再定義できます(Rubyの固有クラスを考えますが、ステロイドを使用します)。 Javaオブジェクトのメソッドはそのクラスに関連付けられており、実行時に再定義できません。
189

Wikipediaリンク をご覧ください

JavaScriptは名前にもかかわらず、本質的にJavaプログラミング言語とは無関係ですが、どちらも共通のC構文を持ち、JavaScriptは多くのJava名前と命名規則をコピーします。この言語はもともと「LiveScript」という名前でしたが、NetscapeとSunのJavaランタイムを当時の支配的なブラウザにバンドルする代わりに、NetscapeとSunの間の共同マーケティング契約で名前が変更されました。 JavaScriptの主要な設計原則は、SelfおよびSchemeプログラミング言語から継承されています。

52
toolkit

すべて。

JavaScriptはNetscapeによってこのように命名され、不注意な人を混乱させて、当時の流行語であるJavaと関係があると考えるようになり、成功しました。

2つの言語は完全に区別されます。

38
ddaa
24
Alpine

JavaScriptは、オブジェクト指向スクリプティング言語であり、動的なHTMLページを作成して、入力データを処理し、通常はブラウザー内でデータを維持できます。

Javaは、プログラミング言語、ライブラリのコアセット、および仮想マシンプラットフォームであり、ソースコードをそのままの形で配布したり再コンパイルしたりすることなく、ほぼすべてのプラットフォームで実行されるコンパイル済みプログラムを作成できます。

2つの名前は似ていますが、実際にはまったく異なる2つのプログラミング言語/モデル/プラットフォームであり、まったく異なる問題を解決するために使用されます。

また、これはウィキペディアから直接です Javascript article

よくある誤解は、JavaScriptはJavaに類似しているか、密接に関連しているということです。これはそうではありません。どちらもCに似た構文を持ち、オブジェクト指向であり、通常はサンドボックス化され、クライアント側のWebアプリケーションで広く使用されていますが、類似点はこれで終わりです。 Javaには静的型付けがあります。 JavaScriptのタイピングは動的です(つまり、変数はあらゆるタイプのオブジェクトを保持でき、制限することはできません)。 Javaはコンパイルされたバイトコードからロードされます。 JavaScriptは人間が読めるコードとしてロードされます。 Cは最後の共通の祖先言語です。

23
Bill the Lizard

私の経験では、まったく異なる言語であることに加えて:

  • Javaは最初は見栄えがよく、後にはうっとうしくなります。
  • JavaScriptは最初はひどく絶望的に見えますが、徐々にあなたはそれを好きになり始めます。

(しかし、これはOOプログラミングよりも関数型プログラミングの方が好きかもしれません...;)

17

すべて。それらは無関係な言語です。

14
Kirk Strauser

それらは無関係の血統を持つ独立した言語です。 Brendan Eichは、もともとNetscapeでJavascriptを作成しました。当初はモカと呼ばれていました。 Javascriptを名前として選択することは、もしそうなら、SunでPatrick Naughton、James Goslingなどによって開発された当時の上位Javaプログラミング言語にうなずきました。 al。

8
Don Wakefield

誰もが言っているように、彼らはまったく異なる。

ただし、Javaアプリケーションにscripting言語が必要な場合は、実際にはJavascriptが本当に良い選択です。 JVMでJavascriptを実行する方法があります。一度実行すると、Javaクラスに非常にシームレスにアクセスして操作できます。

5
Darcy Casselman

彼らは互いに何の関係もありません。

Javaは静的に型指定され、コンパイルされ、独自のVMで実行されます。

Javascriptは動的に入力され、解釈され、ブラウザで実行されます。また、Javaにはない、ファーストクラスの関数と匿名関数があります。 Webページ要素に直接アクセスできるため、クライアント側の処理に役立ちます。

構文も多少似ていますが、それだけです。

2
Claudiu

名前と混同しないでください。
JavaはSun Microsystems(現在のOracle)で作成されました。
しかし、JavaScriptはWebの初期にNetscape(現在のMozilla)で作成されました。技術的には、「Java-Script」はNetscapeの言語実装を説明するためにSun Microsystemsからライセンスされた商標です。 Netscapeは、標準化のために言語をECMA(European Computer Manufacturer's Association)に提出しました。商標の問題により、標準化された言語は「ECMAScript」という厄介な名前に固執しました。 「JScript」として。実際には、ほぼ全員がJavaScript言語を呼び出します。本名は「ECMAScript」です。

どちらも完全に異なる言語です!!!

2
user577898

実際、世界中のすべてのPCには、少なくとも1つのJavaScriptインタープリターがインストールされています。

ほとんどの(ただし「実質的にすべて」ではない)PCには、Java VMがインストールされています。

1
Will Peavy

Javascriptの再紹介 Mozillaチーム(彼らはFirefoxを作っています)による説明が必要です。

0
isomorphismes