TypeScriptのスコープ

TypeScriptには、カッコ内のみ有効になるスコープはないようだ。例えば以下のコードはコンパイルエラーにならないが、まともに動作しない。

for (var i in this.elements) {
var element: GraphElement = this.elements[i];
if (element.date >= xrange.start && element.date <= xrange.end) {
this.validElements.push(element);
}
}
for (var i in this.validElements) {
//elementがエラーにならない
element.paint(stage, min, max, xrange.GetX(element.date), xrange.xsize, xrange.xmin, xrange.xmax, this.ymin, this.ymax);
}

これがC#だとelementなんかないよ、ってエラーになるんだけどね。javascriptでもこれはエラーにならない。ただしどちらの場合も、elementはundefinedとなるので、動作はしない。


コメントを残す

メールアドレスが公開されることはありません。