JavaScript
ブラウザの母語であり、ウェブの対話性の土台。どこでも動くけれど、型による保護はありません。
はじめて?まず基礎から: バックエンド 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の生成精度を上げ、バグも早く表に出すため、本番案件におすすめです。
参考資料
- JavaScript — MDN Web Docs — Mozilla
- ECMAScript Language Specification — Ecma International, TC39