FOR SE

文系の学部から新卒でメーカー系のSIerに就職。技術・スキルがないためブログを通して勉強。その後、IT業界の業界知識が活かせる人材業界に就職

このエントリーをはてなブックマークに追加

【Javascript】 varの存在意義について

今回は、varの存在意義について。

 

 

 

当たり前ですが、「var」は変数の前につきますが、

ひとによってつけたり、つけなかったり

まちまち

 

そこにどんな意味があるのか?少し調べてみたので記載します。

 

 

 

varは通常このように書くと思います。

 例)var i=0;

 ※ちなみにこのvarの意味は、variableで変数と言う意味だそうです。

 

 

 

恥ずかしながら、自分はこの「var」のつく意味がわかりませんでした。

 

 ・つく場合とつかない場合は何が違うのか。

 ・つける人とつけない人がいるのか。

 

など疑問に思っていました。

 

 

【varはなんのためにあるのか】

 

少し自分で調べた見たところ、

varはずばり

 

変数のスコープ(範囲)を明確にするためにある

 

具体的に言うと、グローバル変数(functionの外で宣言)とローカル変数(function内で宣言)を区別を明確にするためということになるそうです。

 

 

当たり前ですが、これはJSがfunction内でグローバル変数・ローカル変数の両方が使用可能なためです。

 

 

【なんのために変数を区別するのか】

 

短いプログラムであれば、自分の使った変数名などは覚えていますが、

 

 

他人と共有するものや大規模なものなどではどこで変数名がかぶっているかわかりません。

 

 

グローバル変数とローカル変数が混同されると、初めて使うつもりでローカル変数を宣言して使用したら、プログラム内の別の場所で思わぬ値が代入されたという事態が起きてしまいます。

 

 

 

いちいち変数を宣言するときに、すべてのプログラムの変数名と被っていないかなど確認してられません。

 

 

メソッド内でしか使用しない変数(ローカル変数)であることを宣言するためにvarを変数の前につけるそうです。

 

【以下参考ソース】

 

<html>

<head></head>

<body>

<h2>varの意味を考える</h2>

<body>

<script Language="JavaScript" type="text/javascript">

 

function str(){

sum=100+200;  //var sum=100+200;ならばsumは50と表示される

return sum;}

sum=50;

str();

document.write(sum); //sumは300と表示される

</script>

</body>

</html>

.hatena-module:nth-of-type(10) { background: transparent; } .hatena-module:nth-of-type(10) .hatena-module-title{ display: none; } .hatena-module:nth-of-type(10) .hatena-module-body { padding: 0; }