JavaScript 記述の仕方まとめ(変数)
ほぼ私用のメモです。
私なりに解釈したものです。
かといって、私は文章力・説明力がすごくあるわけでもないので、ゆるゆる文章で書いていきます。
変数・宣言
まず、変数とは、プログラミングをする中で、文字列や数値などのデータに名前を付けることで簡単に繰り返し利用することができる機能のことです。
その変数を使用する際に「このようなデータを持つ変数をここで使いますよ」と記述してある文を、変数宣言、または宣言といいます。
JavaScriptでは、「const」「let」「var」の3つを使って、変数宣言を行います。
const
const 変数名 = 初期値;
constは、再格納できない変数であることと、その変数が参照する初期値を定義できます。
まあ、定数(初期の値から変化しないことが保証されている値)よりの変数みたいな感じだと思ってます。
const thisYear = 2020;
上記のように宣言すると、変数thisYearの値が 2020 から変わらないということです。
const thisYear = 2020;
thisYear = 2021;
例え、このように記述しても、エラーとなり、このコード以降の処理をしません。
//2020年の時の1999年生まれの人の年齢を計算するプログラム
const thisYear = 2020;
let age = 0;
age = thisYear – 1999;
console.log(age);
//表示
21
「あ、やっぱり1980年の人の年齢の計算も知りたい」となったときに下記のようにすることができます。
//2020年の時の1999年と1980年の人の年齢を計算するプログラム
const thisYear = 2020;
let age = 0;
age = thisYear – 1999;
let age_2 = 0;
age_2 = thisYear - 1980;
console.log(age);
console.log(age_2);
//表示
21
40
constは再格納ができないので、定数、再格納する必要がない値に対して使います。
let
let 変数名 = 初期値;
let 変数名;
letは、constと使い方はほとんど同じですが、大きく違うのは再格納可能な変数を宣言できます。
let number = 0;
let string = “Hello World”;
let Boole = true;
また、C#などと違い、データ型も入れられたデータによって、letで宣言された変数のデータ型は変わります。データ型を考えなくてもよいのは便利です。
初期値を定義されていない変数には、デフォルトでundefinedという値が入ります。undefinedってどんな値だよ、とは思いましたが、そういうものなのかと思って一旦これについては放置します。
letは格納が何度も可能なので、ループ処理の中で値が変わるものや、再格納が必要になるものをletで宣言します。
let sum;
sum = 10 + 10;
console.log(sum);
//表示
20
先ほどのconstで宣言された変数ではエラーになっていた処理が、letでは正常に処理することができます。
var
varは、再格納可能な変数の宣言ができます。letとほとんど同じ使い方です。
しかし、あまりvarの使用はおすすめできません。
var test = 0;
var test = 20;
それは、上記のようなことができてしまうからです。
まあ、なんでこれができたら何がいけないの?と言われると、説明が難しいです……
例えば、最初に値を定義したのに、コードの途中でまた再定義されて値が変わってしまった!などのミスで実行結果が変わってしまいます。
var a = 0;
var b = 10;
var sum = a + b;
console.log(sum);
//表示
10
上記のようなものであれば問題はないのですが…
var a = 0;
var b = 10;
var sum = a + b;
var sum = 1000;
console.log(sum);
//表示
1000
これではデメリットがあまり伝わらなさそうですが、
せっかく変数aとbの値の合計を変数sumに格納したのに、また変数sumという同じ名前の変数が宣言され、1000という意味のわからない値が格納されたものが表示されてしまいました。
もっと複雑なコードの中で、こんなことされたらたまったもんじゃないです。
エラーは吐かないけど、どこかがおかしい!!でも、どこがおかしいのかパッと見わからない!!! みたいなことになってしまいます。
まあ、私自身がざっくりとした理解しかできていないので、上手に説明はできないのですが、とにかくあんまり使わないでねというくらいで最初の認識としてはいいと思います。
まとめ
こんな感じで私はJavaScriptの変数宣言の仕方を覚えていますが、少しでも参考になったでしょうか。
日々仕事中に「わからん、わからん」と嘆いていますが、ぼちぼちと覚えているところです。
その覚えたこと、挑戦してみたことについて言語化をできるように練習中ですので、温かい目で見守ってください。
以上、ありがとうございました。