true 로 인식하였다.[ Parent.vue ]
<ChildComponent readonly>
[ ChildComponent.vue ]
const props = defineProps({
readonly: { type: Boolean, default: false }
})
console.log(props.readonly) // true:readonly=true) 로 해야되지 않을까?태그 안에 속성으로 있으면 true, 없으면 false로 자동 반영한다.
대표적인 예시가 input이 있다.
<input type="checkbox" checked />
// 위와 같이 설정하면 checked에서 true로 인식한다.
<input type="checkbox" disabled />
// disabled도 위와 같은 예시이다.
HTML을 기반으로 적용되는 개념이 Vue에서도 동일하게 시스템적으로 속성 평가를 진행하기 때문에 위와 같은 예시, true로 넘겨줄 때 바인딩을 할 필요가 없는 이유이다.
즉, HTML표준과 일치하게 만들며 편의성을 높이기 위함이다.
물론 바인딩해서 처리해도 되긴한다. 뭐 false가 필요할때나 아니면 직관적으로 보이게 하고 싶을 때도 그럴 수는 있다.
어떻게보면 그냥 단순하게 문법처럼 보여서 그대로 사용했었지만, 표준이라든지 어떤 이유를 알아보고자 작성하였다.