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となるので、動作はしない。