JavaScriptにおける変数の扱い方


ccc

東京都内でサラリーマンをしているAI・育児ブロガー、CCCです。 AI(人工知能)と子育てに関する記事を執筆しています。 WebシステムをベースとしたAIを活用することで生活をより便利にする方法を紹介し、育児について衣食住における役立つグッズや情報を配信しています。


JavaScriptにおける変数の扱い方を教えてください。


ccc

JavaScript はクライアント側で実行されるオブジェクト指向型のスクリプト言語です。主にブラウザ上で実行され、ユーザのアクションに応じて動的にWebページの内容を書き換えたり、フォームに入力された内容をチェックしたりといったことがクライアント側で実現できます。また、Ajaxという仕組みを利用することで、Webサーバーとブラウザとの間で非同期通信を行えるので、ページを切り替えることなくページの内容を書き換えることができます。Web系AIとJavaScriptの親和性はピカイチで、AIをWebブラウザから使うためのライブラリが公開されています。


ccc

今回はJavaScriptの使い方として、JavaScriptにおける変数の扱い方をサンプルを用いて解説します。

変数の宣言

次のようにletまたはconstで変数を宣言します。
constは定数値を扱うときに使い、宣言したときに初期値を指定します。constは後から別の値を代入できません。

let temp; //変数の宣言
let temp="test"; //変数の宣言と同時に値を代入
const CONST_TEMP="test"; //定数の宣言と値の代入

プリミティブ型の値渡し

プリミティブ型の値は、値渡しで変数に代入されます。次の例ですと、aの結果はbの影響を受けておらず、bの結果もaの影響を受けていません。

let a, b;
a=1;
b=a;
b=2;
console.log(a.valueOf()); //1 //aの結果はbの影響を受けていない
console.log(b.valueOf()); //2
a=3;
console.log(a.valueOf()); //3
console.log(b.valueOf()); //2 //bの結果はaの影響を受けていない

オブジェクト型の参照渡しと値渡し

オブジェクト型の値は、代入の仕方によって参照渡しになる場合と値渡しになる場合があります。次の例ですと、aの結果はbの影響を受けており(参照渡し)、bの結果はaの影響を受けていません(値渡し)。

let a, b;
a=[1, 2];
b=a;
b[0]=3;
console.log(a.valueOf()); //[3,2] aの結果はbの影響を受けている
console.log(b.valueOf()); //[3,2]

a=[4,5];
console.log(a.valueOf()); //[4,5]
console.log(b.valueOf()); //[3,2] bの結果はaの影響を受けていない