2017-05-01 50 views
2

我正在使用此代碼來檢查未定義的變量,但它不工作。如何檢查在Typescript中未定義

var uemail = localStorage.getItem("useremail"); 
 
      if (typeof uemail === "undefined") 
 
{ 
 
alert('undefined');`` 
 
} 
 
else 
 
{ 
 
alert('defined'); 
 
}

回答

-4

在打字稿,我們可以使用的ToString()檢查未定義。

var uemail = localStorage.getItem("useremail"); 
 
if (uemail.toString() !== "undefined") 
 
{ 
 
alert('Not undefined');`` 
 
}

+0

這個真沒有檢查這類事情的一個有效途徑,看看這裏:https://basarat.gitbooks.io/typescript/docs/tips/ null.html – Garfty

1

它實際上正在工作,但nullundefined之間存在差異。實際上,您將分配給uemail,如果它不存在,則會返回一個值或null。根據documentation

有關兩者之間的區別的更多信息,請參閱this answer

對於Garfty的答案的解決方案可能工作,取決於您的要求是什麼。你可能也想看看here

3

在Typescript 2中,您可以使用未定義類型來檢查未定義的值。 所以如果你聲明一個變量爲: let uemail:string |不確定的;

那麼你可以檢查變量z未定義爲: 如果(uemail ===未定義) {

}

0

添加這個遲到的回答來檢查object.propertie,可以在某些情況下幫助:

使用雜耍檢查,可以測試null和未定義的一重擊:

if (object.property == null) { 

如果您使用嚴格檢查,只有對於設置爲null的值纔會爲true,對於undefi將不會評估爲true ned變量:

if (object.property === null) { 

Typescript沒有函數來檢查變量是否被定義。

0

這是因爲它已經爲空或未定義。空或未定義不具有任何類型。你可以先檢查它是否是未定義的。打字稿(null == undefined)是真的。

if (uemail == undefined) { 
     alert('undefined'); 
    } else { 
     alert('defined'); 
    } 

if (uemail == null) { 
     alert('undefined'); 
    } else { 
     alert('defined'); 
    } 
相關問題