• ベストアンサー

JavaScriptでVBのOption Explicitのように変数の明示的な宣言を強制することは不可能?

たぶんできないのだとは思いますが、ダメ元で質問です。 JavaScriptでVBのOption Explicitステートメントのように、変数の明示的な宣言を強制することはできないのでしょうか? 調べた限りでは、なさそうですが、将来的に言語使仕様が変わる云々の可能性も含めてコメント頂けると幸いです。 できないとすると、変数のタイプミスによるバグの発見が大変だと思いますが、皆さんはどのように工夫してデバッグされていますか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#199778
noname#199778
回答No.2

質問の題にある点については、詳しくないのでちょっとお答えできませんが、デバッグ作業のことについて。 私の場合はブラウザに実行させて、それぞれのブラウザが出すエラーレポートを参考にしてデバッグしています。 Netscape7.1は、ツールメニューのWeb開発という項目内にあるJavaScriptコンソールでエラーをチェックできます。 エラーの起きている問題の行や、エラーの内容を記録して表示してくれるので、なかなか便利です。 Opera7.11にも、「ウィンドウメニュー」の中の特殊ウィンドウに含まれるJavaScriptコンソールがあり、これも一応エラーを辿る時に使えます。 IEも、エラーを出すとステータスバー上のアイコン表示が出ますので、それをダブルクリックして出てくるダイアログ上の詳細情報で、エラーの起きた動作を拾えます。 ただし、IEで提供されるJavaScriptのエラー情報は非常に断片的で、デバッグする時には少々力不足なところがあります。 変数のタイプミスくらいであれば、上記のいずれでも異常を見つけられます。 ただ、オブジェクトやステートメントのタイプミスなどになると、IEの情報では検知し難くなるので、IEでは原因がつかみきれないエラーは、Netscape7.1のJavaScriptコンソールを使って探しています。 IEのみで動作するスクリプトについては、どうしてもIEのエラー情報からバグのある部分を推定して、問題を探し出す必要がありますが、クロスブラウザで動作するスクリプトの場合はほとんどのデバッグ作業はNetscape7.1上でやっています。 なお、Netscapeは4でもJavaScriptコンソールを実装していたと思います。 NetscapeでJavaScriptの動作に問題があったときには、アドレスバーに「javascript:」と記入して実行すると、JavaScriptコンソールが立ち上がると思います(最近のNetscapeでも同じ手順でJavaScriptコンソールを起動できます)。 私はこのような感じでデバッグを行っています。 参考になれば…

noname#5584
質問者

お礼

コメントありがとうございます。 なぜか、IEの環境では、スクリプトの記述が正しくないのにエラーが出ない(しかし、当然ながら意図した動作をしない)場合が多いようなのです。 > オブジェクトやステートメントのタイプミスなどになると、IEの情報では検知し難くなるので、IEでは原因がつかみきれないエラーは、Netscape7.1のJavaScriptコンソールを使って探しています。 機会があれば、ご指摘のツールも検討してみます。 情報提供ありがとうございました。

その他の回答 (2)

  • nuki
  • ベストアンサー率30% (6/20)
回答No.3

残念ながらできないと思われます。 #2に対するお礼として 「なぜか、IEの環境では、スクリプトの記述が正しくないのにエラーが出ない」 と説明されていますが、 (1) 詳細設定で「スクリプト エラーごとに通知を表示する」がチェックされていること (2) ステータスバーの左下に黄色の三角に黒でエクスクラメーションマークが表示されている場合に発生したスクリプトエラーは、エラーチェックされないこと の2点を確認されるとデバッグできる範囲が広がるのではないでしょうか?

noname#5584
質問者

お礼

「できない」という結論は当初から予想していましたが、裏付けが取れて、あきらめが付きました。(笑 デバッグの方法に関しては参考になるアドバイスを頂き、ありがとうございました。

  • the845t
  • ベストアンサー率33% (246/743)
回答No.1

Mozillaというブラウザには、JavaScriptコンソールというものが付属していて、 エラーなどを表示してくれますよ。 Netscape7以降にもついているかもしれません。 ブラウザの軽さで考えるなら、Mozilla Firebirdを利用されるのが一番良いかもしれません。

noname#5584
質問者

補足

コメントありがとうございます。 > Mozillaというブラウザには、JavaScriptコンソールというものが付属していて、 > エラーなどを表示してくれますよ。 > Netscape7以降にもついているかもしれません。 エラーにならない記述ミスも検出できるのでしょうか? (構文上は誤りではないが、意図する記述とは異なる場合)