JavaScriptの基礎文法を、文字数カウンターを実際に作りながら学べる初心者向け入門記事のアイキャッチイメージです。変数・関数・イベント処理・条件分岐など最低限のポイントをやさしく解説し、学習のステップアップにも役立つ内容をまとめています。

開発ガイド

JavaScript初心者でもできる!文字数カウンターを作りながら基礎文法を学ぼう

「JavaScript を勉強したいけど、文法の説明だけ読んでも正直よく分からない…」
「手を動かしながら学べる入門記事が欲しい!」

そんな方のために、この記事では 「文字数カウンター」を自作しながら JavaScript の基礎文法を理解できる構成 にしました。

この記事を読み終えると、

  • JavaScript の基本文法(変数 / 関数 / 条件分岐 / イベント処理)が理解できる
  • 簡単な 文字数カウンターツール を自分で作れる
  • 応用して別のツール(ボタン動作、入力チェックなど)も作れるようになる

といった 実用スキル がしっかり身につきます。
「全部覚えられるかな…」と心配になるかもしれませんが、
ツールを作りながら自然と理解できるのでご安心ください。

JavaScriptとは?

JavaScript(ジャバスクリプト)は、
Webページに「動き」や「仕組み」をつけるためのプログラミング言語です。

HTML が「文章の構造」
CSS が「見た目のデザイン」
そして JavaScript は 「動きをつける」 役割。

たとえば、こんなことができます。

  • ボタンをクリックしたら文字を表示する
  • 文字数をカウントする
  • 入力した文字を変換する

Web の動く部分のほとんどは JavaScript が担当しています。

Web制作者だけではなく、
AI・アプリ開発・ゲーム制作など、あらゆる分野の初心者が
まず最初に学ぶ言語として選ばれる理由でもあります。

今回作る「文字数カウンター」の機能と学べる基礎文法

今回の記事では、JavaScript初心者でも取り組みやすい 「文字数カウンター」 を作りながら、
実務でも必ず使う「基礎文法」 を身につけられる構成にしています。

主な機能

入力したテキストの文字数と行数をリアルタイムで計測し、クリアボタンでリセットできるシンプルなWebツールです。

  1. リアルタイムカウント: テキストエリアに入力するたびに、瞬時に文字数と行数を更新します。
  2. クリア機能: ボタン一つで、入力内容とカウント結果をリセットできます。

このツールで学べる基礎文法

  • 変数(let / const)
  • 関数の書き方(function)
  • 条件分岐(if文)
  • イベント処理(addEventListener)
  • DOM操作(document.getElementById)

文字数カウンターは基礎文法の「良い入り口」

文字数カウンターは非常にシンプルでありながら…

  • HTML要素の操作
  • ユーザー入力への反応
  • 関数化
  • 変数
  • 条件分岐
  • イベント処理

といった JavaScriptの基礎の 6〜7 割 を体験できます。

文字数カウンターには基本文法がしっかり詰まっています。

ほーく
ほーく

文字数カウンターの実装(まずは動くものを作ろう)

まずは理論よりも動かすことが大切です。
以下のHTML/JavaScriptコードを丸ごとコピーして、
今すぐ動く「文字数カウンター」をあなたのパソコンで動かしてみましょう。

手順1:HTMLファイルを作って保存しよう

まずは、実際に動作を確認するために、HTMLファイルを作成してみましょう。これはとても簡単です!

  1. メモ帳やVisual Studio Codeなどのテキストエディタを開きます。
  2. ファイル名は「test.html」のように、拡張子を「.html」にして保存してください。
  3. 以下に紹介するコードをすべてコピーして貼り付けます。

手順2:保存してブラウザで開く

すべてのコードを貼り付けたら、上書き保存します。
その後、ファイルをダブルクリックして開いてみましょう

テキストエリアに何か文字を入力してみましょう。

  • 文字数と行数がリアルタイムで更新されましたか?
  • 「クリア」ボタンを押すと、テキストエリアが空になり、カウントが「0」に戻りましたか?

もし意図通りに動いていれば成功です!

基礎文法解説:コードを分解して理解しよう

先ほど動かしたコードを、変数DOM操作関数イベント処理条件分岐という5つの基礎パーツに分解して、一つずつ役割を確認していきます。

ほーく
ほーく

基礎文法 1:変数(letconst

変数は、データ(文字列、数値など)を一時的に保存しておくための「箱」です。

文字数カウンターでは次のように登場しています。

const の役割

  • const は、一度値を代入したら、その後は値を変更しない(再代入しない)変数に使用します。
  • この文字数カウンターでは、入力された文字列(text)や計算結果(charCount)は、取得・計算した後に値を上書きする必要がないため、constが使われています。
  • 現代のJavaScript開発では、意図しないバグを防ぐために、基本的にconstを優先して使用し、値を変更する必要がある場合にだけ次に紹介するletを使用します。

let との使い分け

  • もし、カウントした文字数に対して何らかの処理(例:半角英数を2文字としてカウントする場合など)を行い、値を途中で変更したい場合は、let を使用します。
  • let値を変更できる(再代入できる)変数宣言のキーワードです。

基礎文法 2:DOM操作(document.getElementById

Webページは、HTML要素が親子関係を持ったツリー構造で成り立っており、これを DOM (Document Object Model) と呼びます。
JavaScriptがHTMLを操作するためには、まずDOMを通じて目的の要素を探し出す必要があります。

文字数カウンターではこう使われています。

  • document.getElementById('textInput')
    id 属性('textInput') の要素を取得
  • .value
    → 入力された文字列を取得
  • .innerText
    → 画面の表示テキストを書き換える

DOM操作を理解すると、画面の中身を自由に変えられるようになりますよ!

ほーく
ほーく

基礎文法 3:関数(function

関数は、特定の処理をひとまとまりにして名前を付けたものです。

関数の役割とメリット

  • 処理のまとまり:
    updateCount 関数は、「入力値を取得 → 計算 → 表示を更新」という一連の流れを担っています。
  • 再利用性:
    一度関数を定義すれば、コードのどこからでもその名前を呼び出すだけで、何度も同じ処理を実行できます。
    このツールでは、文字が入力された時と、クリアボタンが押された時の2箇所でこの関数が呼び出されています。

基礎文法 4:イベント処理(oninputonclick

イベント処理とは、
ユーザーの行動に合わせて処理を実行する仕組みです。

文字数カウンターではこう使われています。

イベントタイミング実行される関数
oninputテキストが入力される度updateCount()
onclickボタンをクリックclearText()

ベストプラクティスへの発展

コードをHTMLに直接書き込むのは手軽ですが、通常はJavaScript側でイベントを設定します。
これをaddEventListenerと呼びます。

このように、HTMLとJavaScriptの役割を完全に分離することで、
コードの見通しが良くなり、大規模な開発にも対応しやすくなります。

基礎文法 5:条件分岐(if文)

ここまでのコードにはありませんでしたが、Webアプリケーションには「もし〜ならば」という条件によって処理を変える機能が不可欠です。
これを条件分岐(if文)で実装します。

カウンターに文字数制限を設けてみましょう。500文字を超えたら、警告として文字数を赤く表示するようにします。

実践:文字数制限の警告機能を追加

updateCount() 関数の一番最後に、以下のコードを追加してみましょう。

  • if (条件式): charCount500 より大きいかどうかを判定しています。
  • else: ifの条件が満たされなかった(偽だった)場合に実行する処理を指定します。

これで、501文字目以降を入力すると文字数が赤くなり、制限があることが視覚的にわかるようになりました。

【ステップアップ編】よりプログラミングらしいカスタマイズに挑戦しよう

次は一歩レベルアップして、実務でも必ず使う 配列・ループ・オブジェクト を取り入れたカスタマイズに挑戦してみましょう。

ほーく
ほーく

カスタマイズ例 1:禁止ワードチェック機能(配列とループ)

まずは、Webサービスで実際に使われることが多い 「禁止ワードチェック」 を作ってみましょう。

禁止ワードを管理するには 配列(Array)
入力された文字に禁止ワードが含まれているか確認するには ループ処理 が必要です。

ステップ 1: 禁止ワードリスト(配列)の定義

配列は、複数のデータを一つの変数にまとめて管理する箱です。
[](角括弧)の中に要素をカンマで区切って記述します。

ステップ 2: ループ処理で全てをチェック

ループ処理は、配列の各要素に対して同じ処理を繰り返すための仕組みです。
ここでは、forEachを使って、禁止ワードリストの単語全てをチェックします。

updateCount() 関数内の文字数計算部分の後に、以下のコードを追加します。

  • forEach: BANNED_WORDS配列の中身を一つずつ取り出し、その全てに対して波括弧 {} 内の処理を繰り返します。
  • text.includes(word): 文字列が、引数で指定された文字列(word)を含んでいるかどうかを判定します。

これで、禁止ワードを入力すると警告メッセージを出す、一歩進んだ機能が実装できました。

カスタマイズ例 2:詳細な情報管理(オブジェクト)

カウント結果の「文字数」と「行数」を、それぞれバラバラの変数として扱うのではなく、
関連するデータとしてひとまとめに管理したい場合にオブジェクト(Object)を使います。

オブジェクトは、複数の関連するデータを
「名前(キー)」と「値」のセットでまとめて扱える便利な仕組みです。

updateCount() 関数内の計算部分を、以下のように書き換えることができます。

  • countResult.char:
    オブジェクト名(countResult)に、ドット(.)とキー名(char)を続けることで、その値にアクセスできます。

オブジェクトを使うメリット

  • 複数の関連データを 一元管理 できる
  • 追加のデータ項目が増えても 拡張しやすい

JavaScript初心者におすすめの本

基礎文法を学んだら、本で体系的に理解を深めると一気に伸びます。
ここでは、初心者にとくに人気が高い 2冊を厳選して紹介 します。

確かな力が身につく JavaScript超入門

初心者にもっとも優しい「つまづきにくい入門書」

  • 解説がとても丁寧で、専門用語もわかりやすい
  • サンプルコードが実践的で、そのまま動かしながら理解できる
  • jQueryの基礎にも触れ、Web制作との相性が良い
  • 「JavaScriptが難しい…」と感じていた初心者から高評価

▶ こんな人におすすめ

  • JavaScriptの最初の1冊がほしい
  • 文法の基礎をしっかり理解したい
  • 小さな成功体験を積みながら学びたい

ゲームで学ぶJavaScript入門 増補改訂版~ブラウザゲームづくりでHTML&CSSも身につく

ゲーム制作で楽しみながらJavaScriptを学べる入門書

  • HTML / CSS / JavaScript をゲームづくりの流れで学べる
  • パズル・アクション・物理演算など、合計13本のゲームを制作
  • Canvasなど Webゲームに必須の技術もカバー
  • 手を動かす学習が好きな人に最適

▶ こんな人におすすめ

  • JavaScriptでゲームを作りたい
  • ただ読むだけじゃなく、手を動かしながら理解したい
  • ツール開発やミニゲーム制作をしたい

今回紹介した2冊以外にも、目的別に最適な本をまとめた記事を用意しています。

さらに詳しく選びたい方は「JavaScript・Web制作おすすめ本5選」へ

まとめ|この1ページで「JavaScriptの基礎」がしっかり身につく

お疲れさまでした!
ここまで「文字数カウンター」を題材にしながら、
JavaScriptの基本文法と実践的な書き方 をひと通り学んできました。

今回あなたが習得した内容は、どれも Web 開発の基礎となる重要スキルです。

今回のように、
小さなツールを一つ作り、少しずつ機能を追加していく
という学習方法は、初学者にとって最も効果的です。

  • まずは動かす
  • 理解したら少し改良してみる
  • 新しい知識を1つずつ追加する

この積み重ねこそが、
上達する一番の近道です。

本当にお疲れ様でした!この記事で学んだ知識を活かして、別のツール開発に挑戦してみてください。

ほーく
ほーく

関連記事

最短ルートで学べる方法を知りたい方はこちら ▼
【初心者向け】JavaScript入門ロードマップ|最短で理解できる学習ステップを完全ガイド

まずは小さなツールづくりから始めたい方はこちら ▼
【初心者向け】HTML+JavaScriptで作る簡単Webツール集|初心者でも動くサンプル付き

JavaScriptで作れるゲームをいろいろ試したい方▼
JavaScriptで作れるブラウザゲーム10選|反射神経・パズル・AI対戦まで

-開発ガイド
-, , , ,