VCA

JavaScript

ブラウザの母語であり、ウェブの対話性の土台。どこでも動くけれど、型による保護はありません。

更新日 約1分で読了編集方針#言語#フロントエンド#ブラウザ

はじめて?まず基礎から: バックエンド Backend

ひとことで言うと

JavaScript は「ブラウザの母語」。ウェブの対話のほとんどがこれに支えられていますが、型の保護はありません。

かんたんに言うと

JavaScript は、ブラウザが標準で理解できる唯一の言語です。ウェブページ上のあらゆる操作 — ボタンのクリック、アニメーション、リアルタイムな更新 — は、ほとんどがこれで動いています。のちに Node.js のおかげでサーバー上でも動くようになり、「フロントもバックもこなす」数少ない言語のひとつになりました。

強みはどこにでもあって学習が早いこと。弱みは型による保護がないことで、プロジェクトが大きくなるにつれて「文字列を数値として使う」といった見えにくいバグが忍び込んできます。だからこそ多くのチームは TypeScript(JavaScript に型を足したもの)へ移っていくのです。

アーキテクチャ

動作の流れ

初心者がはまりやすい落とし穴

ふたつの単純な小数を足してみると、結果は思ったものとは少し違います。

console.log(0.1 + 0.2); // 0.30000000000000004
console.log(0.1 + 0.2 === 0.3); // false

これは JavaScript のバグではありません。コンピュータは小数を 2 進数で記憶するため、いくつかの分数は正確に表せないのです。教訓はこうです。お金や計測値を「完全な一致」で比べてはいけません。先に四捨五入するか、整数(たとえば「セント」単位)で計算しましょう。

よくある誤解:JavaScript は Java の軽量版だ、という思い込み。両者は無関係で、名前が似ているのは 1990 年代のマーケティング上の都合です。また JavaScript はブラウザ専用でもありません。Node.js を使えばサーバーでも動き、ひとつの言語でフロントもバックもカバーできます。

まとめ

  • JavaScript = ブラウザの母語で、どこにでもある。
  • 学習が早くエコシステムも大きいが、型による保護はない。
  • 大規模なプロジェクトでは TypeScript へ移行しよう。

身近なたとえ

世界でいちばん通じる話し言葉のようなもの。どこでも通じて覚えるのも早いけれど、厳しい文法チェックがないので言い間違えやすいのです。

長所

  • ブラウザが標準で対応していて、どこにでもある
  • 学習が早く、エコシステムが巨大
  • フロントもバックも書ける(Node.js)

短所

  • 型がなく、大きなプロジェクトでは間違いが起きやすい
  • 歴史的な経緯と暗黙の挙動が多い

向いている場面

  • 小さなスクリプトや手早い実験
  • プログラミングへの最初の一歩

向かない場面

  • 厳密な型を必要とする大規模なチーム開発

初心者スコアカード

初心者おすすめ度
4/5
学習コスト(高いほどコスト大)
2/5
市場ニーズ
5/5
AI生成のしやすさ
5/5

並べて比較したい? 比較ページへ

よくある質問

JavaScriptとJavaは同じもの?

全くの別物で、名前が似ているのはマーケティング上の偶然です。JavaScriptはブラウザとWebの言語、Javaは企業向けバックエンドやAndroidで使う別の言語です。

JavaScriptは必ず学ぶ必要がある?

Webに関わるならほぼ避けられません。ブラウザが唯一ネイティブに実行する言語で、フロントもバックエンド(Node)も書け、Webの共通語です。

JavaScriptとTypeScript、どちらを学ぶ?

まずJavaScriptの基礎を理解し、次にTypeScript(=「型を足したJavaScript」)を。型はAIの生成精度を上げ、バグも早く表に出すため、本番案件におすすめです。

参考資料

  1. JavaScript — MDN Web DocsMozilla
  2. ECMAScript Language SpecificationEcma International, TC39