ITパスポート 2024年 問88
問題文
JavaScriptに関する記述として、適切なものはどれか。
選択肢
ア:Webブラウザ上に、動的な振る舞いなどを組み込むことができる。(正解)
イ:Webブラウザではなく、Webサーバ上だけで動作する。
ウ:実行するためには、あらかじめコンパイルする必要がある。
エ:名前のとおり、Javaのスクリプト版である。
🔒 解説は解答すると表示されます
JavaScriptに関する記述について【ITパスポート 解説】
正解の理由
選択肢ア「Webブラウザ上に、動的な振る舞いなどを組み込むことができる。」が正しいです。
JavaScriptは主にWebブラウザ(Webページを表示するソフト)上で動き、ページの内容を変えたり、ボタンを押したときの動作を作ったり、といった「動的(どうてき:実行中に変わること)」な振る舞いを実現します。
言語仕様はECMAScript(エクマスクリプト:標準仕様)として定められており、ブラウザがその実行環境(エンジン)を提供します。
JavaScriptは主にWebブラウザ(Webページを表示するソフト)上で動き、ページの内容を変えたり、ボタンを押したときの動作を作ったり、といった「動的(どうてき:実行中に変わること)」な振る舞いを実現します。
言語仕様はECMAScript(エクマスクリプト:標準仕様)として定められており、ブラウザがその実行環境(エンジン)を提供します。
解法ステップ
- 問題文のキーワードを確認します:「Webブラウザ」「Webサーバ」「コンパイル」「Javaのスクリプト版」。
- JavaScriptの代表的な特徴を思い出します。主にブラウザで動く、動的操作が得意、コンパイル不要(通常は解釈実行またはJIT)、Javaとは別の言語である。
- 各選択肢と照らし合わせ、事実と合致するものを選びます。これによりアが符合します。
選択肢別の誤答解説
- ア: 正しい。ブラウザ上で動き、DOM操作(ページ要素の操作)やイベント処理(クリック等の反応)を行います。例:ボタンを押したら文字が変わるなど。
- イ: 誤り。JavaScriptは「Webブラウザで動く」ことが基本です。補足として、最近はNode.js(サーバでJavaScriptを動かす環境)もあるためサーバでも動きますが、「ブラウザではなくサーバだけで動く」という表現は間違いです。
- ウ: 誤り。従来の理解では「コンパイル(あらかじめ機械語に変換する処理)」を必要としません。ブラウザはスクリプトを読み取り実行します。現代のエンジンは内部で高速化のためにJIT(Just-In-Time:実行時に部分的にコンパイル)を行うことがありますが、問題文の「事前にコンパイルが必要」という意味では誤りです。
- エ: 誤り。名前に「Java」が入っていますが、Javaとは別の言語です。歴史的にマーケティング上の理由で「JavaScript」と名付けられただけで、文法や設計思想は異なります。
よくある誤解
- 「JavaScriptはJavaの派生言語である」
→ 名前が似ているため混同しやすいですが、設計も用途も異なります。覚え方:名前は似ているが中身は別物。 - 「JavaScriptはブラウザでしか使えない」
→ ブラウザが主用途ですが、Node.jsのようにサーバやCLI(コマンドライン)でも使えます。用途が広がっていますが、問題は「ブラウザ上で動く」が正しいとしています。 - 「必ずコンパイルが必要」
→ 普通はソースをそのまま読み実行します(インタプリタ的実行)。ただし、実行効率向上のために内部でJITコンパイルされる場合がありますが、問題文の趣旨とは異なります。
補足コラム
- ECMAScriptとは:JavaScriptの言語仕様の標準名です。ECMA Internationalという団体が標準化しています。日常的には「JavaScript」と呼びますが、言語仕様を指すときはECMAScriptという表現がよく使われます。
- 実例(ブラウザで動く簡単なスクリプト):
// ボタンを押すと見出しの文字が変わる例(ブラウザで実行)
document.getElementById('myButton').addEventListener('click', function() {
document.getElementById('title').textContent = 'クリックされました';
});
このように、ページの要素(DOM)を操作して「動的」に振る舞いを作れます。
FAQ
Q1. JavaScriptはスマホのアプリでも使われますか?
A1. はい。Webアプリはもちろん、React Nativeなどの仕組みでスマホアプリにも使えます。さらにサーバ側でもNode.jsで使えます。
A1. はい。Webアプリはもちろん、React Nativeなどの仕組みでスマホアプリにも使えます。さらにサーバ側でもNode.jsで使えます。
Q2. Javaの勉強はJavaScriptの理解に役立ちますか?
A2. 一部の概念(変数や関数など)は共通しますが、言語仕様や設計がかなり違います。片方の知識が直接そのまま通用するとは限りません。
A2. 一部の概念(変数や関数など)は共通しますが、言語仕様や設計がかなり違います。片方の知識が直接そのまま通用するとは限りません。
Q3. 「コンパイル」と「解釈実行」の違いは?
A3. コンパイルは実行前に別の形式(機械語など)に変換すること。解釈実行はソースを読みながら逐次処理すること。JavaScriptは基本的に後者に近い実行形態です(ただし内部でJITを使うことがあります)。
A3. コンパイルは実行前に別の形式(機械語など)に変換すること。解釈実行はソースを読みながら逐次処理すること。JavaScriptは基本的に後者に近い実行形態です(ただし内部でJITを使うことがあります)。
関連キーワード: JavaScript、ECMAScript、Webブラウザ、クライアントサイド、Node.js、動的コンテンツ、スクリプト言語、DOM、JIT、インタプリタ

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

