더북(TheBook)

3.4.5 불 값을 속성 값으로 사용하는 경우

끝으로 disabled, required, checked, autofocus, readOnly 같은 일부 속성은 폼 요소에만 사용한다. 여기서 기억해야 할 가장 중요한 점은 속성 값을 {} 안에 반드시 자바스크립트 식으로 작성해야 한다는 점이다. 문자열로 입력하지 않도록 한다.

예를 들어 input 요소를 사용하도록 설정하려면 다음과 같이 false를 입력한다.

<input disabled={false} />

 

“false”를 문자열로 작성하지 않도록 한다. 왜냐하면 이 값이 참 값인지 확인할 때 공백이 아닌 문자열은 자바스크립트에서 참 값이기 때문이다. 그래서 다음과 같이 작성하면 input 요소에 disabled 속성이 true로 적용된다.

<input disabled="false" />

 

Note 참 값

자바스크립트와 Node.js에서 값은 불(Boolean)로 평가될 때 true로 변환된다. if 문을 예로 들 수 있다. 값은 거짓이 아니라면 참이다(이것은 공식적인 정의다. 참신하지 않은가?). 거짓인 값은 여섯 가지가 있다.

false

• 0

"" (공백 문자열)

null

• Undefined

NaN

문자열 “false”가 공백 문자열이 아니라는 점을 확인했기를 바란다. “false”는 참 값이고, true로 변환된다. 이 때문에 HTML에서 disabled=true로 처리된 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.