2017-10-06 76 views
1

我正在編寫一個Web應用程序在typescript和jQuery(使用絕對類型的jQuery定義文件)。我遇到的問題之一是許多jQuery函數返回一個數字或未定義的。這拋出了打字稿編譯器,所以我已經恢復到使用效用函數:Typescript處理undefined 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

我一般遵循一個簡單的方法,你可以嘗試使用

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

如果你想提高zero_if_undefined方法嘗試在同一方法。

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

FYI,

+!!undefined is also 0.