2016-03-28 16 views
-2

Node.jsでTypeScriptを使用しています。 TypeScriptはコンパイル時に型をチェックしますが、コンパイル後のJavaScriptコードは型のチェックではありません。 コード実行時の型チェック

var test : number; 
test = 'test'; 

しかしエクスプレスにこのコードは正常に動作します:たとえば、このコードがエラーをスロー

app.post('/', function(req, res, next) { 
    var test : number; 
    test = req.body.test; 
    res.end(req.body.test); 
}); 

結果testが多数だったが、私は、文字列型でtestを持っています。 この問題を回避するにはどうすればよいですか?コード実行中に変数のタイプをチェックするにはどうしたらいいですか?

+5

タイプスクリプトのポイントは、ランタイムタイプのチェックではなく、_static_タイプのチェックです – elclanrs

+0

JavaScriptでランタイムのタイプをチェックするツールはありますか? –

+3

'if(typeof test === 'string')...他に新しいTypeError(...)をスローする ' – elclanrs

答えて

0

How do I check the type of variables when code is running

基本的に活字体は、anyことがreqの種類を推定されます。これは、として完全にのようにチェックされていないことを意味します。

noImplicitAnyオプションでこれを無効にすることができます。タイプ変数を特定できない場合、TypeScriptはエラーにフラグを付けます。それはあなたのコードサンプルをのコンパイル時にエラーにするでしょう。

関連する問題