カレンダーの「中の人」の話

スマホのカレンダーを開くと、
いつも「今日」の日付に色がついていますよね。
あれ、実は裏で「小人さん」が走っているんです。

Webページ(HTML)は、書かれたままの文字を表示するだけの「張り紙」です。
放っておくと、明日の朝になっても日付は変わりません。
そこで、JavaScript(ジャバスクリプト)という名の、働き者の小人さんを住まわせます。
あなたがページを開いた瞬間、小人さんは猛ダッシュで以下の3つの仕事をこなします。

1. 時計を見る

まず、あなたのパソコンやスマホの時計をチラッと見ます。
「ふむふむ、今日は1月30日だな」と確認します。

const today = new Date().getDate(); // 30

2. 数字を探す

次に、カレンダーに並んだ数字(1〜31)を順番に指差して確認します。
「これは1…違う。これは2…違う。あ!30があった!」

if (calendarNumber == today) {
  // 見つけた!
}

3. シールを貼る

見つけた「30」のマスに、急いで「TODAY」という赤いシール(バッジ)を貼り付けます。
これで仕事完了です。

cell.classList.add('today');

この一連の動作にかかる時間は、わずか0.001秒。
あなたが「まばたき」をする間に、小人さんは仕事を終えて隠れてしまうのです。

これが「プログラミング」の正体です。