2016-08-20 414 views
1

我很惊讶这个问题没有被问到,所以也许我忽略了明显的。我有一个表格字段,应该是一个数字。它的起始值为空,但是一旦输入并清除了一个数字,它就是一个空字符串。它看起来像JavaScript为了数字目的而将“”看作0。最简单的方法来检查一个TypeScript数字上的空字符串和空字符串

所以,不是说...

if ((this.RetailPrice != null && this.RetailPrice != 0) || this.RetailPrice === 0) { 
 
     return this.RetailPrice; 
 
     }

有没有一种方法来扩展打字稿数量型有IsNullOrEmpty()方法?或者类似的东西可以简化这个表达式?


最终,我觉得我一直在寻找为简单的东西...

if (this.RetailPrice) { 

} 
+0

你如何设置'this.RetailPrice'的值? –

+0

在输入上键入Angular的ng模型(type = number)。我将它定义为我的控制器中的一个数字(用TypeScript编写)。 – Josh

回答

2

你可以简单的typeof使用。它会检查undefined,null,0和“”。

if(typeof RetailPrice!='undefined' && RetailPrice){ 
    return this.RetailPrice; 
} 
+2

你的代码和简单的(RetailPrice)之间有什么不同? – AlexG

+1

if(RetailPrice)将抛出一个JavaScript异常,如果变量RetailPrice从未被声明过 - if(typeof RetailPrice!='undefined'&& RetailPrice)将会避免这种情况。 –

+2

不应该使用!==来比较这个字符串吗? – Sam