本文へスキップ
BecomeCoder
ブログ一覧Wikiコース一覧

JavaScriptは何ができる?使い道と特徴を初心者向けに解説

#JavaScript#初心者#使い道

結論:JavaScript は「ブラウザで唯一動く言語」を土台に、Webの見た目と動き(フロント)・サーバー(Node.js)・スマホ/デスクトップアプリまで、1言語で広くカバーできる言語です。 どこで動くかを気にせず「Webにまつわるもの全部」を同じ言語で書けるのが、JavaScript がここまで使われている最大の理由です。

JavaScript は結局「何ができる」言語なのか

JavaScript(JS)の使い道はやたら広く見えますが、出発点は1つです。**「Webブラウザの中で動かせる、唯一の言語」**であること。もともとは「Webページに動きをつける」ための言語でしたが、そこから「サーバーでも動かしたい」「アプリも作りたい」と用途が広がり、今では次のような幅になりました。

まず「JavaScript がどんなコードなのか」を1分で体感したい人は、console.log ― 画面に表示するブラウザでそのまま実行してみてください(無料・登録不要・環境構築なし)。JavaScript コースは第1回から実際にコードを走らせながら進められます。

なぜ1言語でそこまでできるのか(3つの特徴)

使い道の広さは、JavaScript の性格から素直に決まっています。3つに分けて見ていきます。

1. ブラウザに最初から入っている

JavaScript の一番の強みは、世界中のブラウザに標準で入っていて、何もインストールしなくても動くことです。Web の「見た目と動き」を担当する言語は事実上これ1つ。だから Web を作るなら避けて通れず、逆に言えば「ブラウザさえあれば誰でも今すぐ書ける」入りやすさがあります。

この手軽さは動かすとすぐ分かります。まずは基本を実行してみてください(いずれもブラウザで動く回です)。

2. 同じ言語でサーバー側も書ける(Node.js)

昔は「ブラウザの中だけ」の言語でしたが、Node.js の登場で、JavaScript をサーバー側(パソコンやサーバー上)でも動かせるようになりました。これで「フロントは JavaScript、バックは別の言語」と覚え直す必要がなくなり、1つの言語でWebサービス全体を作れるようになったのが大きな転換点です。

フロントとバックの役割分担があいまいな人は、先に フロントエンドとバックエンドの違い を読むと、どこまでが JavaScript の担当なのかがはっきりします。

なお、この Node.js(サーバー側)の実行は、残念ながらブラウザの中だけでは再現できません。Become-Coder の JavaScript コースはブラウザで完結する言語の基礎(文法・配列関数クラス・非同期・JSON など)を実行しながら学ぶ構成で、サーバーを立てる実践は対象外です。そこは正直にお伝えしておきます。まずは言語そのものを手になじませるのが近道です。

3. データのやり取り・非同期に強い

Web は「サーバーからデータを取ってきて画面に出す」の連続です。JavaScript はこの**データ取得(非同期処理)**が言語の中心にあります。fetch ― サーバーからデータを取ってくるJSON ― データを文字列でやり取りする はどちらもブラウザで実行でき、「Webアプリがどうやってデータをやり取りしているか」を手を動かして確かめられます。

非同期の書き方(async/await)でつまずいたら、async/awaitとは?JavaScriptの非同期処理を初心者向けに に別記事でまとめてあります。

得意分野をもう少し具体的に

Webのフロント(見た目と動き)

ボタンを押す・入力をチェックする・表示を切り替える。ブラウザの中で起きる「動き」はすべて JavaScript の担当です。実際にページを書き換える DOM操作とイベント ― ページを動かす は、コースでは読み物として解説しています(この回はブラウザのページ全体を触るため実行ではなく解説回です)。

規模が大きくなると、素の JavaScript だけでは画面の管理が大変になります。そこで登場するのが ReactAngular といったフレームワークです。React は はじめての React からブラウザでライブプレビューしながら学べます。React と Angular で迷う人は ReactとAngularの違いは?どっちを選ぶ を参考にしてください。

Webページの土台になる HTML が不安なら、HTMLの基本 から始めると、JavaScript が「どこに動きをつけているのか」が見えてきます。

Webのバック(サーバー・API)

Node.js を使えば、ログイン処理やデータベース保存といったサーバー側も同じ JavaScript で書けます。フロントで学んだ JSONfetch の知識が、そのままサーバーとのやり取りに直結します。前述のとおりサーバーを立てる部分はブラウザ内では動かせませんが、言語の基礎はまったく同じなので、コースで身につけた文法はバック側でもそのまま活きます。

アプリ・その先へ(TypeScript)

チームで大きなアプリを作るようになると、「変数にどんな型のデータが入るか」を機械にチェックさせたくなります。それを JavaScript に足したのが TypeScript です。JavaScript に慣れたら TypeScript コース に進むと、実務で使われる形に一歩近づきます。両者の関係は TypeScriptとJavaScriptの違いは? で整理しています。

Python と迷っている人へ

「最初の言語を JavaScript にするか Python にするか」で迷う人は多いです。ざっくり言うと、Webの見た目や動きを作りたいなら JavaScript、データ分析や自動化から入りたいなら Python が素直です。詳しくは PythonとJavaScriptの違いは?どっちを学ぶべきか にまとめてあります。

つまずきやすいところ(使う前に知っておく)

JavaScript は入りやすい一方で、初心者がよく詰まる点もあります。代表は変数が見える範囲(スコープと、思ったタイミングで値が入っていない非同期のズレです。前者は スコープとホイスティング ― 変数が見える範囲 を動かすと腑に落ちます。

もう一つ多いのが、undefined や型のゆるさに由来するエラーです。「なぜか動かない」に出会ったら、JavaScriptのエラー逆引き に「メッセージ・出るコード・直し方」でまとめてあるので、辞書のように引いてください。

まず何をすればいい?

「JavaScript が何に使えるか」が分かったら、次は手を動かして向き不向きを自分で確かめるのがいちばんです。JavaScript コースは第1回の文法から、配列・関数・クラス・非同期・JSON・fetch まで、ほとんどの回をブラウザ内で実行しながら進められます(DOM操作とモジュールは読み物として解説)。無料・登録不要です。

← ブログ一覧に戻る