2016-07-29 213 views
0

我有以下行declare var Notification: any;在Typescript中聲明環境變量如果不爲空

它的工作很好,大部分。但在iOS上,我看到以下例外情況 - ReferenceError: Can't find variable: Notification。 iOS似乎不支持Notification,有沒有辦法檢查它是否爲空,如果它不聲明它。類似的東西 -

if (Notification) 
    declare var Notification: any; 

回答

2

聲明它(編譯時間)

declare var Notification: any; // <= this is for the compiler only 

測試它(運行時)

if (typeof Notification !== 'undefined') { 
    //non IOS stuff 
} 
0

環境聲明,如declare var僅在編譯期間有用。它們在執行期間不可用。

您有消息錯誤意味着Notification未定義。使用declare var不會改變這一事實。您在代碼中錯過了變量Notification的實際實例/定義。