#angular #typescript
#angular #typescript
Вопрос:
Я объявляю переменную, которую должен запускать сторонний скрипт, и создаю эту переменную для window
. Однако, если скрипт не запускается, объявленная переменная считается не определенной.
Пример
declare let thirdPartyApi: any;
...
if (thirdPartyApi) {
...
Но я получаю сообщение об ошибке при falsy
проверке:
ReferenceError: thirdPartyApi is not defined
Есть ли способ иметь объявленную переменную, которая всегда считается определенной?
Комментарии:
1. Нет. Вот почему это ключевое слово is
declare
. Раньше он сообщал TypeScript о чем-то, определенном в другом месте. Используйтеtypeof thirdPartyApi !== "undefined"
. В любом случае это ошибка времени выполнения, поэтому заключительная часть вашего вопроса бессмысленна.2. @AluanHaddad Спасибо за разъяснение. Мое предположение о выполнении ложной проверки было бы таким же, как для typeof .
Ответ №1:
Нет необходимости использовать declare
ключевое слово перед инициализацией переменной в angular. Вы можете просто использовать следующее…
let thirdPartyApi: any;
if (thirdPartyApi != undefined amp;amp; thirdPartyApi != null) {
//data exist in variable
}else{
//data not exist
}
Комментарии:
1. Когда я делаю
let thirdPartyApi: any;
и скрипт запускается,thirdPartyApi
не определено.2. Какой angular? Я ничего не вижу в вопросе об этом.