今日、ちょろっとJavaScriptを触っていた。
もちろん、詳しくない。
最近触っているというか、触らざるを得ないからやっているのだが、とてもつらい。。。
今日は、グローバル変数と呼んで良いのか? varを付けずにアクセスする変数を作りたいと思った。
とにかくカウントアップする変数を用意したかったのだ。
ただ、どこから呼ばれるかはっきりしないので、初期化するタイミングに悩んでいた。
そういえば、変数に代入されてないことの確認で、
if (!value) {
...
}
みたいに書けたと思うから、初期値は0ってことじゃなかろうか。
ということで、こう書いた。
count++;
はい、動きませんでした。。。
たぶん、例外が発行されたのだと思う。
meteorを使っていたから、meteorが例外を出していたのだけど、たぶんそうだろう。
デバッグ用だったから、onRendered(meteorのしくみね)で
count = 0;
とすると、動いた。
なるほど、0じゃなくて、nullなんだ。
そして、nullだからインクリメントなんてしたらいかんのだな。
普通のJavaScriptだったら静的解析ツールなんかに掛けることもできそうだけど、meteorだと文法がちょっと違うためか、うまくいかなかった。
C/C++を主に使っているので、コンパイルエラーが出なければそこそこ動くだろう、と思ってしまうのだが、そうじゃない世界に放り込まれると、けっこうつらいですわ。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。