JavaとJavaScriptはどちらもオブジェクト指向言語ですが、様々な違いがあります。この記事では2つの言語の差異を解説するための10問のクイズを用意しました。Java言語の特徴であるクラスベースの継承やJavaScriptの特徴である動的型付け、実行環境の違いなど、両言語の主な相違点を確認することができます。プログラミング初心者からエキスパートまで、JavaとJavaScriptの本質的な違いを理解する良い機会となるでしょう。
Q1 : JavaScriptが誕生した最初の主な目的は何でしたか?
JavaScriptは1995年にNetscape Navigator上でWebページを動的に操作することを目的に誕生しました。当初は「LiveScript」と呼ばれ、ページのユーザーインタフェースの動的制御のために作られました。Androidアプリやサーバーサイド、デスクトップアプリケーション開発は、誕生当初の目的に含まれていません。
Q2 : Javaで例外処理に用いられる構文はどれですか?
Javaでは例外処理のためにtry-catch"構文が用意されています。tryブロックで例外が発生する可能性のある処理を囲み、catchブロックで例外を捕捉します。JavaScriptにも同様の構文が存在しますが、Javaでの例外処理として代表的なのは"try-catch"です。"
Q3 : ECMAScriptはどちらの言語に関係していますか?
ECMAScriptはJavaScriptの言語仕様の標準名です。JavaScriptはECMA-262によって標準化された仕様に基づいているため、ECMAScriptはJavaScriptとほぼ同義語として扱われます。Javaとは関係ありません。
Q4 : JavaとJavaScriptの両方に共通していないものはどれですか?
Javaは厳密な型宣言が必要で、すべての変数に型を明示する必要があります。JavaScriptは動的型付け言語であり、変数に型宣言が不要です。そのため「厳密な型宣言が必要である」は両者に共通しません。その他の選択肢は両言語に共通しています。
Q5 : JavaScriptにおける変数宣言キーワードであり、Javaには存在しないものは何ですか?
JavaScriptではES6以降、変数宣言にlet"や"const"が導入されました。"let"はスコープ制御が強化されたキーワードであり、Javaには存在しません。Javaでは"final"や"static"は使われますが、"let"は存在しません。"var"はJavaScriptでもJavaでも限定的に使われますが、"let"はJava専用ではありません。"
Q6 : Javaで実行されるプログラムの拡張子は通常どれか?
Javaのソースコードは.java"ファイルに保存され、コンパイル後はバイトコードとして".class"ファイルになります。JavaScriptは".js"ファイルを用います。Javaの実行時にはコンパイルされた".class"ファイルがJVMで実行されるため、「class」が正解です。"
Q7 : 次のうち、JavaScriptの特徴として正しいものを選んでください。
JavaScriptは動的型付け言語として設計されており、変数の型を明示的に指定する必要がありません。JavaScriptにもガベージコレクションは存在します。また、JavaScriptは基本的にシングルスレッド上で動作しますが、Web Workersなどにより並列処理も部分的に可能です。C言語で書かれている必要もありません。
Q8 : JavaとJavaScriptの実行環境に関する説明で正しいものはどれですか?
JavaはJVM(Java Virtual Machine)上で実行されるバイトコード形式の言語です。一方、JavaScriptはWebブラウザのJavaScriptエンジンやNode.jsランタイム上で動作します。JavaScriptはJVM上では動作せず、またJavaは基本的にブラウザでネイティブ動作するものではありません。
Q9 : JavaScriptが主に使用されてきた用途はどれですか?
JavaScriptは元々、Webブラウザ上で動作し、HTMLやCSSを操作してWebページを動的に制御するための言語として開発されました。組み込みシステムやAndroidアプリ開発はJavaの主な用途であり、仮想マシンの制御もJavaの得意領域に含まれます。そのため、JavaScriptの主な用途は「Webブラウザでの動的ページ制御」です。
Q10 : JavaとJavaScriptはどちらもオブジェクト指向ですが、Javaが持ち、JavaScriptが持たない特徴はどれですか?
Javaはクラスベースの継承を持つ言語であり、継承やオブジェクトの作成はクラスを定義して行います。これに対し、JavaScriptはプロトタイプベースの継承であり、オブジェクト同士がプロトタイプチェーンでつながれています。インタプリタ実行や動的型付けはJavaScriptの特徴と言えるため、Javaが持っていてJavaScriptが持たないのは「クラスベースの継承」となります。
まとめ
いかがでしたか? 今回はJavaとJavaScriptの違いクイズをお送りしました。
皆さんは何問正解できましたか?
今回はJavaとJavaScriptの違いクイズを出題しました。
ぜひ、ほかのクイズにも挑戦してみてください!
次回のクイズもお楽しみに。