sourcecode

null이 아닌 경우 javascript 검사

copyscript 2023. 9. 21. 21:11
반응형

null이 아닌 경우 javascript 검사

아래는 폼 값을 검색하는 코드 조각입니다.추가 처리 전에 값이 null이 아닌지 확인합니다.

var val = document.FileList.hiddenInfo.value;
alert("val is " + val);  // this prints null which is as expected
if (val != null)
{
   alert("value is "+val.length); // this returns 4
}
else
{
   alert("value* is null");
}

왜 그런 일이 벌어지는지..?

이것이 당신에게 도움이 될 것입니다.

if (!!val) {
    alert("this is not null")
} else {
    alert("this is null")
}

"not null"을 확인하는 방법은 세 가지가 있습니다.저는 Strict Not Version을 사용하는 것을 추천합니다.

1. 엄격한 버전이 아닌 버전

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

Strict Not Version은 Strict Equality Comparison 알고리즘을 사용합니다.!==연산자는 더 빠른 성능을 가지고 있습니다.!=연산자입니다. 엄격 균등 비교 알고리즘이 캐스트 값을 입력하지 않기 때문입니다.

2. 엄격하지 않은 버전

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

Non-strict Not Version추상적 동등성 비교 알고리즘을 사용합니다.!=연산자는 더 느린 성능보다 느립니다.!==연산자: 추상적 등식 비교 알고리즘 유형이 값을 캐스트하기 때문입니다.

3. Double Not 버전

if (!!val) { ... }

Double Not 버전Strict Not 버전Non-Strict Not 버전보다 성능빠릅니다.하지만, 그!!연산자는 다음과 같은 캐스트 "false리"을 입력합니다.0,'',undefined그리고.NaN안으로false, 예상치 못한 결과를 초래할 수도 있고 가독성이 떨어지는 이유는null명시적으로 언급되지 않았습니다.

val은 그렇지 않기 때문입니다.null, 포함되어 있습니다.'null'끈으로

'null'로 확인해 보십시오.

if ('null' != val)

이것이 언제 그리고 왜 작동하는지에 대한 설명은 아래 세부사항을 참조하십시오.

사용하다!==~하듯이!=비일시적인 자바스크립트 진실표 이상의 세계로 당신을 진입시킬 것입니다.

당신은 엄격함을 사용해야 합니다.not equals비교 연산자!==사용자가 입력할 경우"null"그러면 당신은 거기에 갈 수 없을 것입니다.else.

https://softwareengineering.stackexchange.com/a/253723 에서 확인하세요.

if(value) {
}

값이 그렇지 않으면 true로 평가됩니다.

null
undefined
NaN
empty string ("")
0
false

잘 될 겁니다.

   if(val!= null)
    {
       alert("value is "+val.length); //-- this returns 4
    }
    else
    {
       alert("value* is null");
    }

그것은 아마도 의 가치 때문일 것입니다.val실제로는 문자열입니다."null"가치보다는null.

0을 유효한 값으로 포함할 수 있도록 하려면:

if (!!val || val === 0) { ... }

작동합니다.

if (val) {
    alert("Not null");
} else {
    alert("Null");
}

언급URL : https://stackoverflow.com/questions/2422946/javascript-check-for-not-null

반응형