3
私はJavaScriptをES6に簡単な反復可能なクラスを書いた:単純なiterableクラスをJavaScriptからTypeScriptに書き換えるにはどうすればいいですか?
// JavaScript ES6
class FooIterable {
\t
\t constructor(items){
\t \t this.data = items;
\t }
\t
\t *[Symbol.iterator](){
\t \t for(let n of this.data){
\t \t \t yield n;
\t \t }
\t }
}
const foo = new FooIterable(['Bob','John','Mark']);
for(let n of foo) console.log(n);
を今、私は活字体2.6上で同じことを書きたいです。これは私の試みです:
class FooIterable {
data: string[];
constructor(items : string[]){
this.data = items;
}
*[Symbol.iterator](){
for(let n of this.data){
yield n;
}
}
}
const foo = new FooIterable(['Bob', 'John', 'Mark']);
for(let n of foo) console.log(n);
しかし、私はオンラインエディタで、このようなエラーが表示されます。
どのように私は私が必要なものを行うことができますか?
これは、typescriptターゲットがes6以上の場合に有効です。あなたのターゲットはtsconfigファイルのように表示されますか? Per Explosion Pills 'の答えでは、es6よりも低いターゲットのための 'downlevelIteration'フラグでも動作しますが、その下位レベルのパフォーマンスコストがあることに注意してください。 – CRice
@CRice 'tsconfig'の' es6' –