Как проверить undefined в Typcript

Я использую этот код для проверки неопределенной переменной, но она не работает.

var  uemail = localStorage.getItem("useremail");

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

Ответ 1

В Typescript мы можем проверить неопределенность следующим образом:

const uemail = localStorage.getItem('useremail');

if (uemail !== undefined)
{
    console.log('Hey, its not undefined!');
}

Ответ 3

В Typcript 2 вы можете использовать Undefined type для проверки неопределенных значений. Поэтому, если вы объявите переменную как:

let uemail : string | undefined;

Затем вы можете проверить, не указана ли переменная z как:

if(uemail === undefined)
{

}

Ответ 4

Это потому, что оно уже null или undefined. У Null или undefined нет никакого типа. Вы можете проверить, не определено ли это сначала. В машинописном тексте (null == undefined) истинно.

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

или же

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

Ответ 5

Он фактически работает, но есть разница между null и undefined. Фактически вы назначаете uemail, который возвращает значение или null, если оно не существует. Согласно документации.

Для получения дополнительной информации о различии между обоими из них см. Этот ответ.

Для решения этого Garfty ответ может работать, в зависимости от вашего требования. Вы также можете посмотреть здесь.

Ответ 6

Добавление этого позднего ответа для проверки объекта object.propertie, который может помочь в некоторых случаях:

Используя проверку жонглирования, вы можете протестировать как null, так и undefined одним ударом:

if (object.property == null) {

Если вы используете строгую проверку, она будет действительна только для значений, установленных в null, и не будет оцениваться как истина для неопределенных переменных:

if (object.property === null) {

У машинописного текста нет функции для проверки того, определена ли переменная.

Ответ 7

Это самый правильный способ проверки в локальном хранилище.

Если хранилище не удалось найти элемент, функция хранения возвращает значение null (не определено).

var  uemail = localStorage.getItem("useremail");

if (uemail === null)
{
    alert('Item not exist');
}
else
{
    alert(uemail + ' exist!');
}

Ответ 8

НЕ СТРОГО ОТНОШЕНО К ТИПИСКРИПТУ

Просто чтобы добавить ко всем ответам выше, мы также можем использовать сокращенный синтаксис

var result = uemail || '';

Это даст вам электронное письмо, если переменная uemail имеет какое-то значение, и просто вернет пустую строку, если переменная uemail не определена.

Это дает хороший синтаксис для обработки неопределенных переменных, а также дает возможность использовать значение по умолчанию в случае, если переменная не определена.

Ответ 9

мы можем использовать троичную операцию так же, как в .Net

isUserLoggedIn = service.isUserLoggedIn ? true : false;

он будет проверять неопределенное условие и попадет во второе троичное выражение. троичный оператор условия является лучшей формой условия if if в кодировании и прост в использовании.

Ответ 10

Используйте ключевое слово this для доступа к переменной. Это сработало для меня

var  uemail = localStorage.getItem("useremail");

if (typeof this.uemail === "undefined")
{
    alert('undefined');
}
else
{
    alert('defined');
}