読者です 読者をやめる 読者になる 読者になる

log

日記です

JavaScriptでメンバへアクセスする方法は2つある

ドット記法と括弧記法の二種類がある。


ごく普通のドット記法

  • document.form1.txt1.value="コメント";

括弧記法

  • document.form1["txt1"].value="コメント";

ふつーのドット記法が用意されているのに、括弧記法が存在する理由はメンバをプログラム上の文字列で指定するため。

括弧記法を使ってよくやること。

<span style="font-size:small;">var i;
while(i<5){
  var txt = "txt" + i;
  document.form1[txt].value=i+"番目のテキストボックス。";
  i++;
}</span>

とかよくやったりするけど、括弧記法でオブジェクトのメンバにアクセスしている、ということだったのか。
ということは

<span style="font-size:small;">document["form1"]["txt1"]["value"]="コメント";</span>

という方法もありなのかな?

なんか初心者(自分)がやりそうな罠に

<span style="font-size:small;">var i;
while(i<5){
<span style="color:#FF0000;">  var txt = ".txt" + i;</span>
  document.form1[txt].value=i+"番目のテキストボックス。";
  i++;
}</span>

みたいな感じで、括弧記法でアクセスしているのに.をつけちゃったりする間違えがある。


これは、JavaScriptの基本、オブジェクトのメンバにアクセスする方法を理解していないってことなんだな!
考えたらJavaScriptってちゃんと勉強したことなかった。


ドット記法、括弧記法、普通に使ってるけど名前があったとは。
JavaScriptの概念をひとつ明確にすることができました。


[外部リンク]
第一章 JavaScriptにおけるオブジェクトの基本的性質を知る
http://starry.night.nu/web/prog/javascript/c01_know_basic_behavior.html