2016-08-15 18 views
7

私はtypescript @ next(バージョン2.1.0-dev.20160812を使用しています)を使用しています。Typescript 2.0で動作するArray.prototype.includesを取得できません

Arrays.prototype.includesを使用しようとするとエラーが発生します。

たとえば、このコード

let myItems: Array<string>; 
let exists: boolean = myItems.includes('blah'); 

は、次のエラーを生成します

Property 'includes' does not exist on type 'string[]'.at line 124 col 26 

は、これが私のtsconfig.jsonです:

{ 
    "compileOnSave": true, 
    "compilerOptions": { 
    "module": "es6", 
    "target": "es6", 
    "moduleResolution": "node", 
    "allowSyntheticDefaultImports": true, 
    "noImplicitAny": true, 
    "sourceMap": true, 
    "outDir": "ts-build", 
    "jsx": "preserve" 
    }, 
    "exclude": [ 
    "node_modules" 
    ] 
} 
+1

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includesによると、ES2016(AKA ES7)にincludeが追加され、ES6を対象としているのでそのメソッドを使用しないでください(またはポリフィルが必要です)。あなたは 'myItems.indexOf( 'blah')> = 0'を使うことができます –

+0

@JBNizetは私がES7をターゲットにしなければならないという意味ですか?私はes5にトランスバイルするためにバベルを使用しています – methodex

+0

@JBNizetはes7をターゲットできないようです。 TS @ NextにArray.prototype.includesの型があります。なぜこれがまだうまくいかないのか分かりません。 – methodex

答えて

9

私はLIBを追加することによって、これを修正:[」 es2016 "、" dom "]をtsconfig.jsonのコンパイラオプションに追加します

関連する問題