Ответ 1
В Typescript мы можем проверить неопределенность следующим образом:
const uemail = localStorage.getItem('useremail');
if (uemail !== undefined)
{
console.log('Hey, its not undefined!');
}
Я использую этот код для проверки неопределенной переменной, но она не работает.
var uemail = localStorage.getItem("useremail");
if (typeof uemail === "undefined")
{
alert('undefined');
}
else
{
alert('defined');
}
В Typescript мы можем проверить неопределенность следующим образом:
const uemail = localStorage.getItem('useremail');
if (uemail !== undefined)
{
console.log('Hey, its not undefined!');
}
Вы можете просто проверить правду об этом:
if(uemail) {
console.log("I have something");
} else {
console.log("Nothing here...");
}
Идите и проверьте ответ отсюда: существует ли стандартная функция для проверки нулевых, неопределенных или пустых переменных в JavaScript?
Надеюсь это поможет!
В Typcript 2 вы можете использовать Undefined type для проверки неопределенных значений. Поэтому, если вы объявите переменную как:
let uemail : string | undefined;
Затем вы можете проверить, не указана ли переменная z как:
if(uemail === undefined)
{
}
Это потому, что оно уже null или undefined. У Null или undefined нет никакого типа. Вы можете проверить, не определено ли это сначала. В машинописном тексте (null == undefined)
истинно.
if (uemail == undefined) {
alert('undefined');
} else {
alert('defined');
}
или же
if (uemail == null) {
alert('undefined');
} else {
alert('defined');
}
Он фактически работает, но есть разница между null
и undefined
. Фактически вы назначаете uemail, который возвращает значение или null, если оно не существует. Согласно документации.
Для получения дополнительной информации о различии между обоими из них см. Этот ответ.
Для решения этого Garfty ответ может работать, в зависимости от вашего требования. Вы также можете посмотреть здесь.
Добавление этого позднего ответа для проверки объекта object.propertie, который может помочь в некоторых случаях:
Используя проверку жонглирования, вы можете протестировать как null, так и undefined одним ударом:
if (object.property == null) {
Если вы используете строгую проверку, она будет действительна только для значений, установленных в null, и не будет оцениваться как истина для неопределенных переменных:
if (object.property === null) {
У машинописного текста нет функции для проверки того, определена ли переменная.
Это самый правильный способ проверки в локальном хранилище.
Если хранилище не удалось найти элемент, функция хранения возвращает значение null (не определено).
var uemail = localStorage.getItem("useremail");
if (uemail === null)
{
alert('Item not exist');
}
else
{
alert(uemail + ' exist!');
}
НЕ СТРОГО ОТНОШЕНО К ТИПИСКРИПТУ
Просто чтобы добавить ко всем ответам выше, мы также можем использовать сокращенный синтаксис
var result = uemail || '';
Это даст вам электронное письмо, если переменная uemail
имеет какое-то значение, и просто вернет пустую строку, если переменная uemail
не определена.
Это дает хороший синтаксис для обработки неопределенных переменных, а также дает возможность использовать значение по умолчанию в случае, если переменная не определена.
мы можем использовать троичную операцию так же, как в .Net
isUserLoggedIn = service.isUserLoggedIn ? true : false;
он будет проверять неопределенное условие и попадет во второе троичное выражение. троичный оператор условия является лучшей формой условия if if в кодировании и прост в использовании.
Используйте ключевое слово this для доступа к переменной. Это сработало для меня
var uemail = localStorage.getItem("useremail");
if (typeof this.uemail === "undefined")
{
alert('undefined');
}
else
{
alert('defined');
}