2016-06-14 19 views
1

Angular2のtypecriptを初めて使用しています。誰かが、なぜこれがコンパイル時に動作しないのか教えてもらえますか?実行時に変更すればうまくいきますか?angular2 typecriptはコンパイルされませんが、実行時に動作します

@Injectable() 
export class PlayerService { 
    history: String[] = []; 

    addHistory(a: string) { 
     this.history.push(a); 
     return this.history; 
    } 
} 

それは私を与えるコンパイル時にエラーがある「エラーTS2322:型 『文字列は、[]』 『string』の型に代入できません プロパティ 『のcharAtは、』タイプ 『のString []』にありません。」

ありがとうございます!

答えて

0

実際、TypeScriptアプリケーションには2つの部分があります。コンパイル1と実行1。

TypeScriptはJavaScriptのスーパーセットであることを思い出す必要があります。あなたのコードは、JavaScriptに関しては有効かもしれませんが、(例えばタイプチェックのために)TypeScriptに関するものではありません。デフォルトでは、TypeScriptはエラーがあってもJavaScriptを出力します。

ここケースだ

...

は、詳細については、この質問を参照してください:

+1

を、私はあなたがスーパーセットを意味すると思います! – dafyddPrys

+0

エラーを投げているのは何ですか?私は文字列の配列を間違って宣言していますか? – yoog

+0

どのラインにエラーがありますか? –

関連する問題