2016-08-20 413 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