2017-10-06 16 views
1

typescriptとjQueryでWebアプリケーションを作成しています(Definitely Typed jQuery定義ファイルを使用しています)。私が取り組んでいる問題の1つは、多くのjQuery関数が数値を返すか、または未定義であることです。これはtypescriptですコンパイラをオフに投げて、私はユーティリティ関数を使用して戻ってきた:jqueryから未定義の入力処理

function zero_if_undefined(value: number | undefined): number { 
    if value === undefined: 
     return 0; 
    return value; 
} 

その後のようなもの:

let width: number = zero_if_undefined($('#myEle').innerWidth()); 

を達成するためのより良い(あるいはインライン)方法はあります同じ目標ですか?それとも最善の方法ですか?

+1

'幅を聞かせて:数= $( '#のmyEle')はinnerWidth()|| 0; '? – soywod

答えて

1

私は、一般的に、1つの単純なアプローチに従うあなたはzero_if_undefined方法を強化したい場合は、この方法では、同じ試す

let width: number = $('#myEle').innerWidth() || 0; 

を使用して試みることができます。

function zero_if_undefined(value: number | undefined): number { 
    return value || 0 
} 

FYI、

+!!undefined is also 0. 
関連する問題