자바 스크립트에서 undefined == variable
과 variable == undefined
의 차이점은 무엇입니까? undefined === variable
또는 typeof variable == 'undefined'
일 경우 어떻게 달라질 수 있습니까? 당신이 언급 한 부품의 다른 순서에 관해서 JavaScript 평등 연산자
답변
정의되지 않은 변수를 테스트하려면 undefined
을 사용하지 말고 대신 typeof 연산자를 사용하십시오!
undefined
은 (는) 자바 스크립트로 작성되지 않은 키워드로, 단지 변수 이름입니다. 코드의 어느 곳에서나 var undefined = true
을 전세계에 작성하면 모든 비교가 예상치 않게 작동합니다.
JSLINT 또는 JSHINT 같은 것을 사용하여 자바 스크립트 코드에서 이러한 유형의 오류가 발생하지 않도록해야합니다.
그 외에도 필자는 필자가 읽은 방법대로 비교 매개 변수를 먼저 작성합니다. If the variable foo is undefined than
이 if (typeof foo === "undefined")
나는이 패턴의 이름을 기억하지 않는 작성해야하는 이유입니다,하지만 난 하나 :
의미에 차이가 없습니다 나에게 도움이 될 수 있습니다.
===
은 ==
이 아닙니다. 예를 들어 undefined == false
이 참이지만 undefined === false
은 그렇지 않습니다. 정의되지 않은 유형을 확인하는 것은이 경우 엄격한 비교와 유사합니다.
undefined == variable
및 variable == undefined
은 동일합니다.
하지만 =
(variable = undefined
)을 놓친 경우 이상한 행동을 방지하기 위해 undefined == variable
을 추천합니다.
undefined === variable
및 typeof variable == 'undefined'
도 동일해야합니다.
나는 귀하의 추천에 동의하지 않습니다. 순서는 괜찮지 만 어떤 경우에는 'undefined'의 원래 값을 오버라이드 할 수 있습니다 (새로운 ES5에서는이 변수를 읽기 전용으로 설정 함). – Tadeck
예. 이 방법으로 코드를 작성하라는 권장 사항이 있지만 '정의되지 않음'은 js로 다시 작성할 수 있으므로이 경우에는 작동하지 않습니다. 그리고'undefined '를 덮어 쓰면 더 이상한 행동으로 이어질 것입니다. 나는'typeof' 옵션을 선호합니다. – kirilloid
아, 그건 몰랐어. 감사 :) – Shylux
- 1. 평등
- 2. 평등
- 3. 지도 비교에 평등 사용
- 4. JavaScript 비트 연산자
- 5. Javascript IN 연산자 호환성
- 6. 유형 검사와 스칼라 평등?
- 7. 숫자 홍보 및 평등?
- 8. 평등 테스트
- 9. 문자열 평등
- 10. JavaScript 사용 === 연산자 체크인은 언제입니까?
- 11. JQuery/Javascript 및 && 연산자 사용
- 12. 연산자/// JavaScript : 5.0 // 2.0 = 5?
- 13. 기능 평등/얼랑
- 14. 평등 높이 colums
- 15. 비트 어레이 평등
- 16. 하스켈 : 평등 인스턴스
- 17. Clojure의 매핑과 평등
- 18. 액티브 오브젝트 평등
- 19. 세 값의 평등 테스트
- 20. 평등 비교 객체
- 21. 텍스트 필드 평등
- 22. 메이크 조건문이 잘못된 평등
- 23. 헥터 구성 요소 평등
- 24. MySQL은 - 평등 여기
- 25. 긴 유형 평등
- 26. C# 진수 형식 평등
- 27. Java 오브젝트 평등
- 28. 어설 구조체 평등
- 29. 평등 높이 열
- 30. PHP에서 == 및 === 연산자
모두가 같은이 꽤 확신 해요. 변수가 정의되지 않았는지 확인하려면 "variable === undefined"를 사용하십시오. 변수에 데이터가 들어 있는지 확인하려면 "if (variable)"를 사용하십시오. 이것은 "if (variable! == undefined && variable! == null)"과 동일합니다. 항상 == 대신 ===를 사용해야합니다. ==를 사용하면 암시 적으로 형식 변환을 수행합니다. 1 == "1"= 참, 1 === "1"= 거짓. –