m6u's blog

便利な製品・サービス・アプリを見つけては、その評価を書き続けるブログ

書評:プロとして恥ずかしくないJavaScriptの大原則

 たまたまですが、間違いを見つけました*1
 052ページにある、「答える内容に合わせて選択項目の内容を変更する」の中で、select要素内のoption要素をすべて削除するというコードとして、このように書いてあります。

for ( var i=0; i<Obj02.length; i++ ) {
  Obj02.options[i] = null;
}

 これ、実際にやってみると、option要素の1つ目、3つ目、5つ目・・しか消えません。
 私はこう書いてみたら、期待通り動きました。

var cnt=Obj02.length;
for ( var i=0; i<cnt; i++ ) {
  Obj02.options[0] = null;
}

 もしくは、もっとシンプルにこうなります。

while ( Obj02.length>0 ) {
  Obj02.options[0] = null;
}

 もしかしたら、他にも間違いがあるかもしれませんし、ないかもしれません。
 残念ですが、掲載されているサンプルコードを鵜呑みにしてはいけないようです。

*1:後になって、間違いというわけではないことがわかりました。