답변:
변수가 NULL이 아닌지 테스트하는 방법은 다음과 같습니다.
if (myVar !== null) {...}
myVar에가 null이 myVar에이 정의되지 않았거나 허위 또는 경우 ...이 실행됩니다 아닌 경우 블록이 실행됩니다 0
이나 NaN
또는 다른 어떤 ..
("")
과 정의되지 않은 것을 검사하지 않습니다 . 내 바이올린을 참조로 참조하십시오 : jsfiddle.net/b0tm7yaf
이 게시물을 읽으십시오 : http://enterprisejquery.com/2010/10/how-good-c-habits-can-encourage-bad-javascript-habits-part-2/
일반적으로 JavaScript에 대한 유용한 팁이 있지만 언급 한 가지는 다음과 같이 null을 확인해야한다는 것입니다.
if(myvar) { }
또한 당신이 깨닫지 못할 '거짓'으로 간주되는 것을 언급합니다.
내가 방금 본 또 다른 가능한 시나리오가 있습니다.
나는 아약스 호출을하고 문자열 형식으로 데이터를 null로 되 돌렸다. 나는 이것을 다음과 같이 확인해야했다.
if(value != 'null'){}
따라서 null은 실제로 null이 아닌 "null"을 읽는 문자열이었습니다.
편집 : 내가 해야 할 방식으로 이것을 판매하지 않는다는 것을 이해해야합니다 . 이것이 유일한 방법 인 시나리오가있었습니다. 왜 백엔드를 쓴 사람이 데이터를 잘못 표시했는지 확실하지 않지만 실제로는 이것이 현실입니다. 그것이 옳지 않다는 것을 이해 한 사람이 실제로 투표 한 것을보고, 실제로 도움이되는 누군가에 의해 투표되는 것을 보는 것은 실망 스럽습니다.
null
문자열 과 비교하는 것보다 값을 구문 분석하십시오 .
value = JSON.parse(value)
간단하고 적절한 value != null
테스트를 수행하는 것이 좋습니다.
if myVar
가 null이면 block이 다른 방식으로 실행되지 않으면 실행됩니다.
if (myVar != null) {...}
'null'
이 아니라 특수한 값 null
.
여기에 나열된 두 가지 조건문은 서로보다 낫지 않습니다. 사용 상황에 따라 다릅니다. 두 번째 예에서는 오타가 있습니다. 느낌표 뒤에는 등호가 하나만 있어야합니다.
첫 번째 예는 myVar 의 값 이 true 인지 확인 하고 {...} 내부의 코드를 실행합니다 .
두 번째 예는 myVar 가 null이 아닌지 평가 하고,이 경우 true이면 {...} 내부에서 코드를 실행합니다 .
더 많은 기술에 대한 조건문을 살펴 보는 것이 좋습니다. 일단 익숙해지면 필요할 때 결정할 수 있습니다.
=
는 결정적이며 질문에 큰 차이를 만듭니다. JavaScript 의 존재 !==
및 ===
연산자를 모르는 것 같습니다 .