JavaScript
Web ブラウザで動作する言語として生まれ、今やサーバーやアプリ開発まで担う汎用言語
JavaScript とは
JavaScript は、もともと Web ブラウザ上で動作させるために 1995 年に生まれたプログラミング言語だ。当初はページに簡単な動きを加える補助的な役割だったが、現在ではフロントエンド・サーバーサイド (Node.js)・モバイルアプリ・デスクトップアプリまでをカバーする汎用言語へと発展している。
特徴
JavaScript は動的型付けのインタプリタ言語で、変数に型宣言が不要だ。関数を値として扱える第一級関数や、非同期処理を扱うイベントループといった仕組みを持ち、特に I/O 待ちの多い Web 処理と相性がよい。言語仕様は ECMAScript として標準化され、毎年新機能が追加されている。
TypeScript との関係
| 観点 | JavaScript | TypeScript |
|---|---|---|
| 型 | 動的 (実行時に判定) | 静的 (コンパイル時に検査) |
| 学習コスト | 低い | やや高い |
| 大規模開発 | 型がなく崩れやすい | 型で安全性を担保 |
| 実行 | そのまま動く | JS に変換して動く |
TypeScript は JavaScript に静的型付けを加えた上位互換で、規模が大きくなるほど採用される傾向にある。
実務での注意点
ブラウザによる挙動の差は標準化が進んで縮小したが、非同期処理の扱いは今も誤りが起きやすい。コールバックの入れ子 (コールバック地獄) は Promise や async/await で解消できるが、エラーハンドリングを怠ると失敗が握りつぶされる。また null と undefined、緩い等価比較 (==) など、独特の落とし穴を理解しておくことがバグ予防につながる。
体系立てて学ぶには関連書籍が役立つ。
この記事は役に立ちましたか?
関連用語
TypeScript
JavaScript に静的型付けを追加した言語で、大規模開発の安全性と生産性を向上させる
Node.js
Chrome V8 エンジン上で動作するサーバーサイド JavaScript ランタイム
React
コンポーネントベースの UI ライブラリで、宣言的な記法と仮想 DOM で効率的な UI 構築を実現する
コールバック地獄
非同期処理のコールバックが深くネストし、コードの可読性と保守性が著しく低下する状態
Swift
Apple が開発した安全性と速度を重視するモダン言語。iOS/macOS アプリ開発の主役
C#
Microsoft が開発した静的型付けのオブジェクト指向言語。.NET 上で幅広い開発に使える
関連する記事
「動くコード」と「良いコード」の間にある本
コードが動くようになった後、次に何を学べばよいのか。「動くコード」を「良いコード」に変えるために必要な知識と、それを効率的に学べる本の選び方を解説します。
スタックオーバーフローのコピペを卒業する日
Stack Overflow からコードをコピペして動かす段階から、自分で設計して書ける段階へ。この成長の壁を越えるために技術書が果たす役割を解説します。
「とりあえず動く」で 5 年過ごしたエンジニアの末路
「動けばいい」のマインドセットで 5 年間コードを書き続けると何が起きるか。技術的負債の蓄積、キャリアの停滞、そしてそこから抜け出すための読書戦略を考えます。