변수가 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) { }
한다면myVar
block이 실행되지 않으면 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
'programing' 카테고리의 다른 글
SQL LIKE와 IN을 함께 사용 (0) | 2022.09.19 |
---|---|
Debian 10 MariaDB '소켓 '/var/run/mysqld/mysqld를 통해 로컬 MySQL 서버에 연결할 수 없습니다.양말' (2)' (0) | 2022.09.19 |
특정 서브스트링 뒤에 문자열을 얻는 방법 (0) | 2022.09.19 |
PHP 함수의 전역 변수 액세스 (0) | 2022.09.19 |
어떻게 조건부로의 반응 요소들에 특성을 추가하니? (0) | 2022.09.19 |