JavaScript If 문이 올바르게 작동하지 않음

LeeTheCoder

아래는 내 코드이며 항상 거짓 인 것처럼 IF 문을 반환합니다. 사실이어야하지 않습니까?

IF 문으로 평가 된 변수 :

var coloredUI = '';
var coloredText = '';

다음은 IF 문입니다.

if (coloredText && coloredUI == '') {

} else {

}
스콧 마커스

JavaScript에서 값은 " 진실 "또는 " 거짓 "일 수 있습니다. 두 변수를 모두 "거짓"(문자 없음 == 거짓) 인 빈 문자열로 설정합니다. 다른 잘못된 값은 다음과 같습니다.

정의되지 않음 , 0 , false , null

if문은 항상 truthy 부울 결과에 대한 조건을 테스트하고 싶어. 표현식을 제공하면 해당 표현식이 평가 되고 결과가 부울이 아닌 경우 JavaScript 엔진이이를 하나로 강제 변환 합니다. 거짓 값은 거짓이되고 진실 값은 참이됩니다.

 if(coloredText) {}

평가 대상 :

 if(false) {}

coloredText거짓 값 ( '')으로 초기화 되었기 때문 입니다. 단락 된 논리 AND를 사용했기 때문에 전체 if가 참이 되려면 두식이 모두 참이어야합니다. 그러나 첫 번째 것이 거짓으로 강요되었으므로 if진술은 거짓 분기로 진행됩니다.

이를 방지하기 위해 다음과 같이 표현식을 단독으로 강제하는 대신 비교하는 표현식을 작성할 수 있습니다.

 if(coloredText == '')  // true

이러한 암시 적 유형 강제 개념은 JavaScript가 동등성 테스트를위한 두 가지 메커니즘을 제공하는 이유이기도 합니다 . 예를 들면 다음과 같습니다.

 var x = 0;
 if(x == false)

이 발생합니다 true때문에 이중 등호가 변환과 평등을 의미한다 . false숫자 (로 변환됩니다 0수 (에 대해 검사) 후 0우리가 얻을 수 있도록) true.

하지만 이것은:

 var x = 0;
 if(x === false)

(A)에 발생한다 false때문에 결과적 변환이되지 않습니다 여기서 트리플 등호는 항등 수단 과 같이 두 값 / 발현 비교된다.

원래 시나리오로 돌아갑니다. 기능 지원을 확인할 때이 암시 적 유형 강제를 자주 활용합니다. 예를 들어, 이전 브라우저는 지리적 위치를 지원하지 않습니다 (해당 기능을 제공하는 객체를 구현하지 않음). 다음과 같은 지원을 테스트 할 수 있습니다.

 if(navigator.geolocation)

경우 navigator객체가없는 geolocation속성을 식은로 평가됩니다 undefined(falsy)과는 if그 거짓 지점으로 향할 것이다. 그러나 브라우저가 지리적 위치를 지원하는 경우 표현식은 객체 참조 (truthy)로 평가되고 실제 분기로 진행됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Javascript setInterval if 문이 올바르게 작동하지 않음

분류에서Dev

Javascript 조건문이 올바르게 작동하지 않음

분류에서Dev

Javascript에서 올바르게 작동하지 않는 if 문

분류에서Dev

JavaScript에서 올바르게 작동하지 않는 Switch 문

분류에서Dev

JavaScript로 Codemirror 데이터 제출이 올바르게 작동하지 않음

분류에서Dev

Android if-else 문이 올바르게 작동하지 않음

분류에서Dev

문자열 하위가 올바르게 작동하지 않음

분류에서Dev

Apache URL 재 작성이 올바르게 작동하지 않음

분류에서Dev

JavaScript 출력이 올바르게 표시되지 않음

분류에서Dev

Ansible : delegate_to 그룹이 올바르게 작동하지 않음

분류에서Dev

Python Auto ARIMA 모델이 올바르게 작동하지 않음

분류에서Dev

부울이 올바르게 작동하지 않음

분류에서Dev

Hibernate Crtieria 및 제한이 올바르게 작동하지 않음

분류에서Dev

HTML 선택이 올바르게 작동하지 않음

분류에서Dev

grep이 올바르게 작동하지 않음

분류에서Dev

MVC-모델이 올바르게 작동하지 않음

분류에서Dev

stringByReplacingOccurrencesOfString이 올바르게 작동하지 않음

분류에서Dev

Apache Rewrite 모듈이 올바르게 작동하지 않음

분류에서Dev

VBA AZ 정렬이 올바르게 작동하지 않음

분류에서Dev

Ubuntu 18.04.1 NordVPN이 올바르게 작동하지 않음

분류에서Dev

날짜 형식이 올바르게 작동하지 않음

분류에서Dev

AFNetworking SSL 고정이 올바르게 작동하지 않음

분류에서Dev

Element.getBoundClientRect.top이 올바르게 작동하지 않음

분류에서Dev

If 문이 올바르게 작동하지 않는 jQuery 문제

분류에서Dev

JavaScript의 조건부 및 for 루프에서 break 문이 올바르게 작동하지 않는 것 같습니다.

분류에서Dev

Oracle Update 문이 올바르게 작동하지 않습니다.

분류에서Dev

If 문이 올바르게 작동하지 않습니다.

분류에서Dev

If 문이 올바르게 작동하지 않습니다.

분류에서Dev

Javascript가 숨겨진 필드를 올바르게 업데이트하지 않음

Related 관련 기사

  1. 1

    Javascript setInterval if 문이 올바르게 작동하지 않음

  2. 2

    Javascript 조건문이 올바르게 작동하지 않음

  3. 3

    Javascript에서 올바르게 작동하지 않는 if 문

  4. 4

    JavaScript에서 올바르게 작동하지 않는 Switch 문

  5. 5

    JavaScript로 Codemirror 데이터 제출이 올바르게 작동하지 않음

  6. 6

    Android if-else 문이 올바르게 작동하지 않음

  7. 7

    문자열 하위가 올바르게 작동하지 않음

  8. 8

    Apache URL 재 작성이 올바르게 작동하지 않음

  9. 9

    JavaScript 출력이 올바르게 표시되지 않음

  10. 10

    Ansible : delegate_to 그룹이 올바르게 작동하지 않음

  11. 11

    Python Auto ARIMA 모델이 올바르게 작동하지 않음

  12. 12

    부울이 올바르게 작동하지 않음

  13. 13

    Hibernate Crtieria 및 제한이 올바르게 작동하지 않음

  14. 14

    HTML 선택이 올바르게 작동하지 않음

  15. 15

    grep이 올바르게 작동하지 않음

  16. 16

    MVC-모델이 올바르게 작동하지 않음

  17. 17

    stringByReplacingOccurrencesOfString이 올바르게 작동하지 않음

  18. 18

    Apache Rewrite 모듈이 올바르게 작동하지 않음

  19. 19

    VBA AZ 정렬이 올바르게 작동하지 않음

  20. 20

    Ubuntu 18.04.1 NordVPN이 올바르게 작동하지 않음

  21. 21

    날짜 형식이 올바르게 작동하지 않음

  22. 22

    AFNetworking SSL 고정이 올바르게 작동하지 않음

  23. 23

    Element.getBoundClientRect.top이 올바르게 작동하지 않음

  24. 24

    If 문이 올바르게 작동하지 않는 jQuery 문제

  25. 25

    JavaScript의 조건부 및 for 루프에서 break 문이 올바르게 작동하지 않는 것 같습니다.

  26. 26

    Oracle Update 문이 올바르게 작동하지 않습니다.

  27. 27

    If 문이 올바르게 작동하지 않습니다.

  28. 28

    If 문이 올바르게 작동하지 않습니다.

  29. 29

    Javascript가 숨겨진 필드를 올바르게 업데이트하지 않음

뜨겁다태그

보관