2011-08-09 3 views
1

JavaScript에서 빈 문자열이 false로 평가되는 이유는 무엇입니까? 나는 더글러스 크록 포드는 truthy와 자바 스크립트 falsy에 대해 꽤 말씀 알고 있지만 이것은 여전히 ​​나를 놀라게 :빈 문자열이 자바 스크립트에서 false로 평가되는 이유는 무엇입니까

if("") 
    alert("you will never see this"); 

사람이 행동의 근거가 무엇인지. 이 방식으로 ECMAScript 사양에 따라 구현됩니까? 궁금해.

답변

6

아무 것도 없기 때문에. 빈 문자열은 여러 언어로 된 거짓 값입니다. 이것은 사양에 따라 표준입니다.

인수가 빈 문자열 (길이가 0 인 경우) 인 경우 결과는 false입니다. 그렇지 않으면 결과는

사실이다 - 섹션 Ecma-262

+0

의 9.2 방법 '설명하기' '=== false를'다음 거짓 인? – KooiInc

+2

'==='의 포인트는 타입 변환을하지 않으며 대부분의 false 값은'false'가 아닙니다 ('false'는'false' 인 false 값입니다). – Quentin

+0

@KooiInc : 엄격한 비교 검사도 유형을 검사합니다. 문자열은 부울 값이 아니므로 동일하지 않습니다. –

관련 문제