programing

변수가 null이 아닌지 확인하는 방법

prostudy 2022. 9. 19. 23:17
반응형

변수가 null이 아닌지 확인하는 방법

이 아닌지를 하는 방법은 다음과 .null어느 것이 가장 좋은 방법인지 헷갈립니다.

어떻게 하면 좋을까요?

if (myVar) {...}

또는

if (myVar !== null) {...}

그들은 동등하지 않다.은 이 블록 이 됩니다.if if 「」의 경우myVar진부하다(즉, 평가 대상)true의 경우, 을 실행합니다.myVar is is is is is is other is is is is 。null.

JavaScript에서 truthy가 아닌 유일한 값은 다음과 같습니다(일명 falsey 값).

  • null
  • undefined
  • 0
  • "" 문자열빈 문자열')
  • false
  • NaN

변수가 NULL이 아닌지를 테스트하는 방법은 다음과 같습니다.

if (myVar !== null) {...}

myVar' null이거나 myVar가 false일 경우 실행됩니다.0 ★★★★★★★★★★★★★★★★★」NaN른른른른...

  • ★★★★★★★★★★★★★★★★의 코드if(myVar) { code }다음 경우에만 실행되지 않습니다.myVar, 같다, 같다.false, 0, "", null, undefined, NaN 변수를 하지 않았습니다.myVar(그 후 실행을 중지하고 예외를 발생시킵니다).
  • ★★★★★★★★★★★★★★★★의 코드if(myVar !== null) {code}다음 경우에만 실행되지 않습니다.myVar null정의하지 않은 경우(예외).

여기 모든 것(src)이 있습니다.

한다면

여기에 이미지 설명 입력

==(부정!=)

여기에 이미지 설명 입력

===(부정!==)

여기에 이미지 설명 입력

다음 게시물을 읽어보십시오.http://enterprisejquery.com/2010/10/how-good-c-habits-can-encourage-bad-javascript-habits-part-2/

일반적으로 JavaScript에 대한 몇 가지 유용한 힌트가 있지만, 한 가지 언급되는 것은 다음과 같은 null을 확인해야 한다는 것입니다.

if(myvar) { }

그것은 또한 당신이 깨닫지 못할 수 있는 '거짓'으로 여겨지는 것에 대해서도 언급하고 있다.

내가 방금 접한 또 다른 가능한 시나리오가 있다.

Ajax 콜을 했는데 데이터를 문자열 형식으로 늘로 돌려받았어요.이렇게 확인을 해야 했습니다.

if(value != 'null'){}

즉, null은 실제로는 null이 아니라 null로 읽히는 문자열이었습니다.

편집: 저는 이것을 판매해야 할 방법으로 판매하지 않는다는 것을 이해해야 합니다.이 방법밖에 없는 시나리오가 있었는데왜 그런지는 모르겠지만...백엔드를 쓴 사람이 자료를 잘못 제시하고 있었을지도 모르지만 어쨌든 이건 현실이에요이것이 옳지 않다는 것을 이해하는 사람에 의해 낮게 투표되고, 그리고 그것이 실제로 도움이 되는 사람에 의해 상향 투표되는 것을 보는 것은 실망스러운 일입니다.

때때로 그것이 정의되지 않았다면 준비하는 것이 더 낫다.이를 위해 나는 타입 오브를 사용했다.

if(typeof(variable) !== "undefined") {
    //it exist
    if(variable !== null) {
        //and is not null
    }
    else {
        //but is null
    }
}
else {
    //it doesn't
}

(0)이 의미하는 경우false(-1 또는 0 이외의 임의의 숫자)는 다음과 같습니다.true. 다음 값은 truthy, null, undefined, 0, " " (빈 문자열), false, NaN이 아닙니다.

id와 같은 번호 타입을 사용하지 않는다

if (id) {}

값이 0인 id 타입의 경우 (id) {}인 경우 사용할 수 없습니다. 왜냐하면 (0)이 false를 의미하고, 이는 true id 번호로 유효함을 의미하기 때문입니다.

따라서 ID 유형에는 다음을 사용해야 합니다.

if ((Id !== undefined) && (Id !== null) && (Id !== "")) {

} else {

}

다른 문자열 유형의 경우 null, 정의되지 않은 빈 문자열이 모두 false로 평가되기 때문에 (string) {}인 경우 사용할 수 있습니다.

if (string_type_variable) { }

한다면myVarblock이 실행되지 않으면 null이 됩니다.그렇지 않으면 실행됩니다.

if (myVar != null) {...}

조건문을 여러 개 사용하는 대신 아래 솔루션을 사용할 수 있습니다.

if(![false, 0, "", null, undefined, NaN].includes(myVar)){

   // It's not a null value

}

여기에 나열된 두 가지 조건문은 서로 다를 바 없습니다.사용 방법은 상황에 따라 다릅니다.그런데 두 번째 예에서는 오타가 있습니다.느낌표 뒤에는 등호 하나만 있어야 합니다.

첫 번째 예에서는 myVar 값이 참인지 확인하고 {...} 내에서 코드를 실행합니다.}

두 번째 예시는 myVar가 null과 같지 않은지 평가하며, 이 경우 {...} 내에서 코드가 실행됩니다.}

저는 더 많은 기술을 위해 조건문을 살펴볼 것을 제안합니다.일단 익숙해지면, 언제 필요할지 결정할 수 있습니다.

언급URL : https://stackoverflow.com/questions/4361585/how-to-check-if-a-variable-is-not-null

반응형