타입스크립트에서 정의되지 않은 것을 확인하는 방법

이 코드를 사용하여 정의되지 않은 변수를 확인하려고 하는데 작동하지 않습니다.

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

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

사실 여부를 확인할 수 있습니다:

if(uemail) {
    console.log("I have something");
} else {
    console.log("Nothing here...");
}

여기에서 답을 확인하세요: https://stackoverflow.com/questions/5515310/is-there-a-standard-function-to-check-for-null-undefined-or-blank-variables-in

도움이 되셨기를 바랍니다!

해설 (3)

타입스크립트 2에서는 정의되지 않은 유형을 사용하여 정의되지 않은 값을 확인할 수 있습니다. 따라서 변수를 다음과 같이 선언하면

let uemail : string | undefined;

로 선언하면 변수 z가 다음과 같이 정의되지 않았는지 확인할 수 있습니다:

if(uemail === undefined)
{

}
해설 (1)

It's 기 때문에 그것이's 미 null 거나 정의되지 않습니다. Null 거나 정의되지 않은 있지 않은 모든 유형입니다. 는지 확인할 수 있습 it's 가 정의되지 않은 처음이다. 에서 호환되지 않습니(null==undefined)이라는 사실입니다.

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

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

실제로는 작동하지만 null정의되지 않음 사이에는 차이가 있습니다. 실제로는 존재하지 않는 경우 값 또는 null을 반환하는 uemail에 할당하고 있습니다. 문서]1에 따라.

둘의 차이점에 대한 자세한 내용은 이 답변를 참조하세요.

이 문제에 대한 해결책은 요구 사항에 따라 Garfty의 답변이 효과가있을 수 있습니다. 또한 여기를 살펴볼 수도 있습니다.

해설 (0)

추가 이 늦게 대답하여 확인을 위한 객체입니다.propertie 에서 도움을 줄 수 있는 몇 가지의 경우:

를 사용하여 저글링 검사,테스트할 수 있습니다 모두 null 로 정의되지 않은 하나의 히트:

if (object.property == null) {

를 사용하는 경우 엄격한 검사,그것만이 진정한 값을 null 로 설정지't 평가 진리에 대한 정의되지 않은 변수:

if (object.property === null) {

타이프 라이터가 없는 기능을 확인하는 경우는 변수가 정의됩니다.

해설 (0)

지 엄격하게 관련된 타이프 라이터

다만 추가하면 모든 위의 답변을,우리 또한 사용할 수 있습니다 이와 같이 간단한 구문

var result = uemail || '';

이메일 경우uemail변수가 있 어떤 가치와 그것은 단순히 빈 문자열을 반환하는 경우uemail변수가 정의되지 않습니다.

이렇게 좋은 구문에 대한 처리 정의되지 않은 변수를 제공한 방법을 사용하는 경우 기본값 변수가 정의되지 않습니다.

해설 (0)

사'이'키워드를 액세스하는 변수입니다. 이 나를 위해 일

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

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

늦은 이야기를 하지만 제가 생각하는 몇 가지 세부 사항이 간과?

당신이 사용하는 경우

if (uemail !== undefined) {
  //some function
}

당신이 기술적으로,비교하는 변수는uemail가진 변수가undefined그리고,후자는 인스턴스화,그것은 모두를 제공합니다 종류와 값'undefined'순수한 기본적으로,따라서 비교 true 를 반환합니다. 하지만 그것을 내려는 잠재적인 변수의 이름으로정의되지 않은실제로 존재-그러나 어렵고 따라서 다음의 유형undefined. 이 경우에는 비교가 false 를 반환합니다.

야 올바른 것을 선언해야 일정한 유형의undefined 예를 들어:

const _undefined: undefined

다음 테스트:

if (uemail === _undefined) {
  //some function
}

이 테스트는 반환됩니다trueuemail 지금같은 모두 가치&형식의_undefined_undefined정상적으로 선언된 형식undefined.

다른 방법이 될 것이다

if (typeof(uemail) === 'undefined') {
  //some function
}

어떤 경우에는 부울 값을 반환은 비교 기반으로 두 문자열의 비교입니다. 이것은,기술적인 관점에서 보기NOT테스트를 위해 정의되지 않지만,그것은 동일한 결과를 달성할 수 있습니다.

해설 (0)

우리가 사용할 수 있는 원동으로 동일합니다.Net

isUserLoggedIn = service.isUserLoggedIn ? true : false;

유효성을 검사합니다 정의되지 않은 상태이고 떨어질 것으로 제 2 회 원 식입니다. 삼 조건자의 더 나은 형태는 경우 다른 상태에서 코딩 및 사용하기 쉽습니다.

해설 (0)
해결책

에서 호환되지 않습니 우리가 확인할 수 있습니다에 대한 정의되지 않은 다음과 같다:

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

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