【js】変数

宣言について

値を定義する場合

宣言のみパターン
var 変数名;

宣言+初期値を代入を同時するパターン
var 変数名 = 値;
宣言時に代入される値を初期値と呼ぶ。


複数、同時に宣言するパターン
var 変数名1 = 値1,変数名2,変数名3 = 値3;

複数同時に宣言する場合は、カンマで区切る。
初期値を入れても入れなくてもOK。
改行してもOK。
一番最後はセミコロン。

データ型

データ型ごとに代入する値の書き方を変える

<script>
var str = 'こんにちは';
var int = 21;
</script>

初期値を空にしたい場合

宣言だけだと、初期値が、undefinedになる。
ただし、undefinedは予約語ではないため、変数で何かしたのデータを代入される可能性もあるので、予約語であるnullを入れておいた方が安全らしい。
「''」

<script>
var a = '';
console.log(typeof a);
//結果
string
</script>

「''」を初期値にすると、string型の空文字がはいっている。
つまり、見えない値がある状態である。


「null」

<script>
var b = null;
console.log(typeof b);
//結果
object
</script>

「null」を初期値にすると、object型で"値が存在しない空の状態"ということになる。
「null」は特殊なオブジェクト型の値で、JavaScript予約語として用意されている。
「null」は変数、関数、メソッド、あるいはオブジェクトの識別子として用いることはできない予約語
「null」は有効な値が存在しなかった場合に代わりにnullが返されるといった用途で使われる。
その為、値を取得した時にnullかどうかを判定することがよく行われます。


「undefined」
nullと混同されがちだけど厳密には違う。

<script>
console.log( null == undefined );
console.log( null === undefined );
//結果
true
false

//
console.log(typeof undefined);
//結果
undefined
</script>

値が同じかを確認する「==(等価演算子)」で確認すると、同じ。
値とデータ型の一致を確認する「==(厳密等価演算子)」で確認すると、別物。
つまり、値は同じ。だけどデータ型が異なる。
そして、undefinedのデータ型はundefined型である。

<script>
console.log(typeof undefined);
//結果
undefined
</script>

配列を定義する場合

宣言だけのパターンと初期化を同時に行うケース。

<script>
var items = [];
//配列
var items = ['りんご','みかん','メロン']; 
//連想配列
 var items = {
         'ringo' : 'りんご',
         'mikan' : 'みかん',
         'meron' : 'メロン',
 };

</script>
<script>
items[1]; // みかん
 items['ringo'] // りんご

</script>

関数を定義する場合

<script>
var func = function(){
  //処理内容
  }
</script>
<script>
//関数を呼び出すとき
func();
</script>
<script>

</script>
<script>

</script>
<script>

</script>