JavaScriptを書き始めると、最初の行から変数が出てきます。難しい概念ではありませんが、書き方が3種類あるせいで最初に迷います。

変数とは、値に名前を付けること

script.js
const name = "ふじわら";
let count = 0;

= は「等しい」ではなく「右のものを左に入れる」という意味です。数学の記号とは違うので、最初は混乱しやすいところです。

const と let の使い分け

  • const … 後から入れ直さないもの。基本はこちらを使う
  • let … 後から入れ直すもの。カウンターなど
  • var … 古い書き方。新しく書くコードでは使わない

迷ったら const で書き始めてください。書き換えが必要になったときに let へ変えれば十分です。最初から const にしておくと「うっかり書き換えてしまう」事故をブラウザが止めてくれます。

CODEconst を書き換えるとエラーになるコードを書き換えると、すぐ下で動きます

script.js の const を let に変えると動くようになります。エラーで止まることが、事故を防いでくれています。

値の種類(型)

変数に入れる値には種類があります。最初に覚えるのは3つで十分です。

  • 文字列 … "こんにちは" のように引用符で囲む
  • 数値 … 42 や 3.14。引用符で囲まない
  • 真偽値 … true か false。条件の判定に使う

引用符の有無が決定的な違いです。"42" は文字、42 は数値。見た目は似ていますが、扱いがまったく変わります。

文字と数値を足すと、つながってしまう

初心者が必ず一度はハマるのがここです。+ は、数値どうしなら足し算ですが、文字が混ざると「つなげる」動作になります。

CODE1 + 1 が 11 になるときコードを書き換えると、すぐ下で動きます

script.js の "1" から引用符を外すと、2 になります。フォームから受け取った値は文字なので、この現象がよく起きます。

文字を数値に変えるには Number() で囲みます。フォームの入力値を計算に使うときは、ほぼ必ず必要になります。

名前の付け方

  • 英数字で書く。日本語も使えるが、実務では使わない
  • 数字から始めることはできない
  • 単語をつなぐときは userName のように、2語目以降の先頭を大文字にする
  • 中身が分かる名前にする(a や data ではなく、userName や totalPrice)

名前を適当に付けると、1週間後の自分が読めません。少し長くなっても、意味の分かる名前にしてください。