2012-08-30 8 views
0

jsfiddle 예제 here이 첨부되어 있습니다. null과 공백의 차이를 알고 싶습니다.JavaScript에서 공백 대 빈 공백

제 기능은 정상적으로 작동하지만, 조건이 충족되면 공백을 null로 변경하면 작동이 멈 춥니 다.

+1

비어 객체에 빈 문자열 포인트 (AS 하지만 빈 값),'null' = 전혀 값이 없습니다. – sp00m

+0

테스트하는 경우 :' ''! = null'. – Blender

+0

왜 처음에는 null 값이 작동하지 않는 이유가 무엇입니까? – Carlos

답변

1
  1. 당신은 아마 if('input[type=radio]:checked').val())에가 null 및 빈 문자열을 모두 확인합니다 이런 식으로 조건을 변경해야합니다. 하지만이 경우에는 당신이 null 문자열을 얻지 못할 것이라고 생각하지 않습니다.

  2. 여기서 "!="을 사용하면 예측할 수없는 동작으로 이어질 수 있으므로 "!=="을 사용하십시오. 개체가 실제로 아무것도

  3. 를 가리키는 경우

  4. 널 아마 널 포인터처럼입니다 (예 :` ""`) = 값이 ""
+0

null은 객체 자체입니다 – rano

+0

나중에 그 모든 것이 공통적으로 보입니다. –

2

NULL 값은 필드의 레코드에 대한 값이 없음을 나타냅니다.

빈 값은 중요한 데이터가없는 값입니다.

"빈 문자열"이 null 값과 다른 이유는 무엇입니까? 왜냐하면 당신은 문자열 (안의 문자 없음)을 a와 데이터 타입이없는 값과 비교하기 때문입니다 : 그들은 다릅니다!

2

너는 무엇이 "", nullundefined에, 자바 스크립트에 의미를 기울여야 만한다. 값과 유형에 관한 부울 테스트에서 오해를 불러올 수 있습니다.

""은 빈 속성으로도 사용되는 빈 문자열입니다. 문자열 개체 ""가 정의되어 있으며 null이 아닙니다.

null은 유형이 null 인 객체입니다. 오브젝트가 다른 값/프로퍼티를 가지지 않는 경우 (그 형태는 null), 오브젝트는 null라고 말할 수 있습니다.

undefined은 개체가 정의되지 않았으며 해석기에 참조가 없음을 의미합니다. undefined는 객체가 아닙니다.

이러한 값을 false과 비교하려고하면 몇 가지 문제가 발생합니다. 다음 예제를 살펴보십시오.

여기에 일부 참조 링크입니다 :

Tutorial on some type checking

A little more explanation