2017-10-06 65 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.