Google Closure で定義された列挙型のすべての値を反復処理する最良の方法を見つけようとしています。次の列挙型が定義されているとしましょう。
/**
* @enum {number}
*/
sample.namespace.Fruit = {
Orange: 0,
Apple: 1,
Banana: 2
};
現在、これを行うために私が見た最良の方法は、次のようなものです。
for (var key in sample.namespace.Fruit) {
var fruit = /** @type {sample.namespace.Fruit} */ (sample.namespace.Fruit[key]);
// Make a smoothie or something.
}
読むのは苦痛だと思います。名前空間を 3 回リストアップしているのは、コンパイラーに乗り物に乗ってもらうためだけです。代わりに使用する必要がある別の反復手法はありますか? これは、この形式の反復を達成するための最良の方法ですか?