変数と型 — const と let、どちらを使えばいいか
変数は「値に名前を付けて箱に入れる」こと。let と const の使い分けと、文字と数値の違いでハマる場面までを、動かしながら押さえます。
JavaScriptを書き始めると、最初の行から変数が出てきます。難しい概念ではありませんが、書き方が3種類あるせいで最初に迷います。
変数とは、値に名前を付けること
script.js
const name = "ふじわら";
let count = 0;= は「等しい」ではなく「右のものを左に入れる」という意味です。数学の記号とは違うので、最初は混乱しやすいところです。
const と let の使い分け
- const … 後から入れ直さないもの。基本はこちらを使う
- let … 後から入れ直すもの。カウンターなど
- var … 古い書き方。新しく書くコードでは使わない
迷ったら const で書き始めてください。書き換えが必要になったときに let へ変えれば十分です。最初から const にしておくと「うっかり書き換えてしまう」事故をブラウザが止めてくれます。
script.js の const を let に変えると動くようになります。エラーで止まることが、事故を防いでくれています。
値の種類(型)
変数に入れる値には種類があります。最初に覚えるのは3つで十分です。
- 文字列 … "こんにちは" のように引用符で囲む
- 数値 … 42 や 3.14。引用符で囲まない
- 真偽値 … true か false。条件の判定に使う
引用符の有無が決定的な違いです。"42" は文字、42 は数値。見た目は似ていますが、扱いがまったく変わります。
文字と数値を足すと、つながってしまう
初心者が必ず一度はハマるのがここです。+ は、数値どうしなら足し算ですが、文字が混ざると「つなげる」動作になります。
script.js の "1" から引用符を外すと、2 になります。フォームから受け取った値は文字なので、この現象がよく起きます。
文字を数値に変えるには Number() で囲みます。フォームの入力値を計算に使うときは、ほぼ必ず必要になります。
名前の付け方
- 英数字で書く。日本語も使えるが、実務では使わない
- 数字から始めることはできない
- 単語をつなぐときは userName のように、2語目以降の先頭を大文字にする
- 中身が分かる名前にする(a や data ではなく、userName や totalPrice)
名前を適当に付けると、1週間後の自分が読めません。少し長くなっても、意味の分かる名前にしてください。