登場人物
美咲(みさき)
女子大生。就活のエントリーシートの資格欄が真っ白なことに気づき、慌ててITパスポートの勉強を開始。ITは完全に素人。高校時代は可愛くて人気者だったので、ちょっとプライドが高い。素直じゃない。
拓也(たくや)
美咲の高校時代の同級生。東京大学工学部。子どもの頃からパソコンばかりいじってきた生粋のオタク。実は美咲のことが好きだが、10年近く言い出せていない。教えるのは得意だが、口が悪いのが玉に瑕。
今日の問題
今日の問題
JavaScriptに関する記述として、適切なものはどれか。
- アWebブラウザ上に、動的な振る舞いなどを組み込むことができる。
- イWebブラウザではなく、Webサーバ上だけで動作する。
- ウ実行するためには、あらかじめコンパイルする必要がある。
- エ名前のとおり、Javaのスクリプト版である。
第1幕:正月明けの研究室
1月、正月休みが明けて最初の週末。美咲は、久しぶりに拓也の研究室を訪ねていた。
美咲
あけましておめでとう。……って、もう1週間経ってるけど
拓也
おめでとう。今年もよろしく
美咲
ねえ、この研究室のホームページ、マウス乗せるとメニューがふわっと動くのね
拓也
あ、それ、今日の問題にちょうどいい話だ
美咲
新年一発目から繋げるの、相変わらずね
第2幕:Javaのスクリプト版でしょ
デスクの端に座り、拓也がノートを広げる。
美咲
じゃあ答えるわね。これエでしょ。『名前のとおり、Javaのスクリプト版』
拓也
お、なんでそう思った?
美咲
だって、"JavaScript"って、"Java"の"スクリプト版"って書いてあるようなものじゃない
拓也
その発想、実はすごくよくある勘違いなんだけど、実はJavaScriptとJavaは、名前が似てるだけで、別物の言語なんだ
美咲
え、そうなの?
拓也
うん。名前の由来には諸説あるけど、機能や仕組みとしては、JavaのスクリプトのJavaScriptがJavaを元にした簡易版というわけじゃない。今日の問題が聞いてるのは、"Webブラウザ上での動き"に関する話なんだ
第3幕:マウスを乗せると、動く理由
拓也は、さっきの研究室のホームページを開いて見せた。
拓也
このメニュー、マウスを乗せた瞬間に、ふわっと動いたよね。これ、どうやって実現してると思う?
美咲
うーん、何かのプログラムが、その場で動いてる、とか?
拓也
そのとおり。Webブラウザの中で、その場でプログラムが動いて、こういう"動きのある振る舞い"を作り出してる。これがJavaScriptの役割なんだ
美咲
あ……! ページを表示するだけじゃなくて、その場でいろんな動きをつけられるってことね
拓也
そのとおり。正解はア。JavaScriptは、Webブラウザ上に動的な振る舞いを組み込める言語。クリックで写真が切り替わったり、入力内容をその場でチェックしたり、っていう仕組みの裏側で動いてるんだ
美咲
なるほどね……。地味に、いろんなところで働いてるのね
第4幕:役目、終わっちゃうかもって
説明を終えたところで、美咲がノートを閉じて、真っ直ぐ拓也を見た。
美咲
ねえ。今年の抱負、言っていい?
拓也
うん
美咲
今年、絶対受かる。もう、後悔したくないから
拓也
……うん
拓也は、一瞬だけ言葉に詰まり、複雑な表情を見せた。美咲は、それを見逃さなかった。
美咲
……また、その顔
拓也
え?
美咲
ここ最近、ずっとそう。嬉しいはずのことなのに、なんか複雑そうな顔するの。理由、聞いてもいい?
拓也は少しの間黙ったあと、小さく息を吐いた。
拓也
……合格したら、俺がここに呼ばれる理由、なくなるのかもって。役目、終わっちゃうかもって、ちょっとだけ思ってた
美咲
……それだけ?
拓也
うん、それだけ
美咲
なによそれ。そんなことで、ずっと変な顔してたの?
拓也
面目ない
美咲
別に、受かっても普通に呼ぶわよ。バカね
拓也
……うん。ありがとう
美咲
まったく。……最初からそう言えばいいのに
第5幕:残りの選択肢を片付ける
少し空気が和らいだところで、拓也が続きを説明する。
美咲
……気を取り直して。残りのイとウも教えて
拓也
イの『Webサーバ上だけで動作する』は、不適切。JavaScriptは、主にWebブラウザ側で動く言語。サーバ側だけで動くわけじゃないんだ
美咲
ウは?
拓也
ウの『実行するためには、あらかじめコンパイルする必要がある』も、不適切。JavaScriptは、コンパイルせずにその場で実行できる言語。この手軽さも、広く使われてる理由の一つなんだ
美咲
JavaScriptはブラウザ上で動的に動く、Javaとは別物、サーバ専用でもコンパイル必須でもない。……名前は似てても、中身は全然別物だったのね
拓也
完璧な整理。名前が似てる言語って、初心者が一番間違えやすいところなんだ
問題文(再掲)
JavaScriptに関する記述として、適切なものはどれか。
- アWebブラウザ上に、動的な振る舞いなどを組み込むことができる。
- イWebブラウザではなく、Webサーバ上だけで動作する。
- ウ実行するためには、あらかじめコンパイルする必要がある。
- エ名前のとおり、Javaのスクリプト版である。
まとめ:選択肢ごとの答え合わせ
| 選択肢 | 内容 | 正誤 |
|---|---|---|
| ア | Webブラウザ上に動的な振る舞いを組み込める | 正解 |
| イ | Webサーバ上だけで動作する | 不正解 |
| ウ | 実行にはあらかじめコンパイルが必要 | 不正解 |
| エ | 名前のとおりJavaのスクリプト版である | 不正解 |
答えア Webブラウザ上に、動的な振る舞いなどを組み込むことができる
覚え方のコツ
名前が似てても、JavaScriptとJavaは別物。
- JavaScript=Webブラウザ上に動的な振る舞いを組み込める言語
- JavaとJavaScriptは、名前が似ているだけで別の言語
- サーバ専用でもコンパイル必須でもなく、ブラウザ側でその場で実行できる手軽さが特徴
エピローグ
研究室の窓の外、1月の空はよく晴れていた。
美咲
今年もよろしくね、勉強会
拓也
うん、よろしく
美咲
……あんたも、今年の抱負とかあるの?
拓也
……美咲が受かるの、ちゃんと隣で見届けること、かな
美咲
なにそれ。私の抱負に便乗してるだけじゃない
拓也
便乗じゃないよ。ちゃんと、それが目標
美咲
……べ、別に、いいけど。ありがたく思っておくわ
拓也心の声
……役目が終わるかもって焦ってたけど、結局、そんなに難しく考えなくてよかったのかもしれないな
美咲
なに一人でにやけてるのよ
拓也
いや、なんでもない。今年も頑張ろう
美咲
うん。頑張る
研究室の白い光の中、二人は今年最初の約束を交わした。
今日のポイントおさらい
- JavaScript=Webブラウザ上に動的な振る舞いを組み込める言語
- JavaとJavaScriptは、名前が似ているだけで別の言語
- JavaScriptは、Webサーバ専用ではなく主にブラウザ側で動作する
- JavaScriptの実行には、あらかじめのコンパイルは不要
- 名前が似ている用語ほど、中身を混同しやすいので注意が必要
この記事はITパスポート試験 令和6年度 問88(テクノロジ系/アルゴリズム)の解説です。