みなさんこんにちは、現役エンジニアのサメハックです
アパレル企業でトップ販売員を経て
未経験からWebエンジニアに転職し、
現在正社員として5年働いています!
今回は変数と定数について学んでいきましょう!
駆け出しエンジニアや未経験の方、
また新入社員を指導する先輩社員にとっても
わかりやすいように解説していきます!
- 変数・定数が何かがわかる
- 変数・定数を宣言できるようになる
- 変数・定数の使い分け方がわかる
そもそも変数や定数ってなに?
まず概念として、理解していただくために
変数を例に大枠を解説しようと思います。
変数とはよく言われる例えをすると、
“値を入れておく箱”です。
たとえばですが、
委員長という変数があったとします。
1学期は“飯塚さん”
2学期は“角田さん”
3学期は“豊本さん”
というように、“委員長”という名前の箱に
様々な人(値)を入れることが出来ます。
簡単に言うとこれだけのことです!
変数というのは”値を入れておく箱”だよ!
変数名というのは”箱の名前”だよ!
変数
では、変数について解説していこうと思います。
変数というのは、値の再代入が可能な箱です。
先ほどの委員長の例のように、
任意に中の値を再代入、つまり上書きすることが出来ます。
■構文
// 変数の宣言
let 変数名 = 値;
// 上書き
変数名 = 新しい値;
実際にnameという変数を宣言し、
そのあとに値を上書きしてみましょう。
// 変数nameの宣言
let name = "サメハック";
console.log(name);
// サメハック
// 変数nameの上書き
name = "飯塚"
console.log(name);
// 飯塚
これが、変数宣言から上書きまでの一連の流れです!
なんとなくイメージできましたか?
ちなみに、変数宣言時に代入する値を初期値といいます。
定数
定数とは、値の再代入が出来ない箱です。
ここが変数との最も大きな違いです。
■構文
// 定数の宣言
const 定数名 = 値;
ちなみに、再代入しようとするとエラーが発生します。
// 定数の宣言
const name = "サメハック";
// エラー発生
name = "角田"
じゃあ変数と定数、どっちを使えばいいの?
結論から言います。
極力定数(const)を使いましょう!
なぜなら、定数は前述したとおり上書きができません。
つまり、想定外のタイミングで値が書き換わる可能性が0なので
思わぬバグを防ぐ事ができます。
この考えを徹底することで
変数(let)で宣言されているものに関しては
「ふむふむ、これはどこかで値が書き換わるんだな」
と判断ができる、という副次的なメリットもあります。
ややこしくなるので、今回は割愛しますが
定数宣言されたオブジェクトや配列の”中身”は更新できます。
詳しくは今後解説します。
おまけ:宿題
・nameという定数を宣言し、あなたの名前を代入する
・jobという変数を宣言し、あなたの職業を代入する
・「私の名前は〇〇です。職業は✕✕です。」
というログを出してください。
・jobの値を上書きし
「私の名前は〇〇です。職業はエンジニアです。」
というログを出してください。
頑張って解いてみてね!
まとめ
- 変数や定数とは、値を入れておく”箱”の名前
- 変数(let): 値が上書き可能
- 定数(const): 値が上書きできない
- 基本的には定数を使い、上書きが発生する場合のみ変数を使う
エンジニアとしての大きな一歩を歩んだよ!
宿題の答え
// 定数宣言
const name = "サメハック";
// 変数宣言
let job = "販売員";
console.log("私の名前は" + name + "です。職業は" + job + "です。");
// 私の名前はサメハックです。職業は販売員です。
// 変数の上書き
job = "エンジニア";
console.log(`私の名前は$nameです。職業は$jobです。`);
// 私の名前はサメハックです。職業はエンジニアです。
※ログの出し方は2種類書きましたが、どっちでもOKです!
満足いただけたら、1クリックなのでSNSフォローしてもらえると嬉しいです🦈
サメハック。
サメハック。