2017-11-06 4 views
-2

を以下typescriptです構文では、window.parseIntがコンパイルされません - 活字体

var strToNum: number = window.parseInt("5"); 

がエラーを与える:

tstut.ts(15,31): error TS2551: Property 'parseInt' does not exist on type 'Window'. Did you mean 'parent'? 

DOMあり、

> window.parseInt 
ƒ parseInt() { [native code] } 

なぜtscは蒸散誤差がありますか?

答えて

0

Window ObjectにはparseInt()の定義が含まれていないため、TSはそれを見つけることができません。これは、標準の組み込み関数だと、単純な呼び出しによって呼び出される必要があります。

var strToNum: number = parseInt("5"); 
+0

しかし、 'window.parseInt(「5」)' – overexchange

+0

のparseIntがウィンドウで提供されていますブラウザのコンソール上に5与えるが、使用すべきではありませんnode.jsなどでコードが機能しないためです。 window.parseIntを使用することで、コードの利点がなくても移植性が低下します。Typescriptは、このエラーをエラーとしてマークすることを防ぎます。 –

+0

これは、HTMLではグローバルスコープがウィンドウオブジェクトだからです。すべてのグローバル変数はウィンドウオブジェクトに属しますが、TSはトランスレーション時間についてはTSを認識しません。 – borkovski