속성과 프로퍼티
-
속성은 HTML 태그 안에서 쓰이며 프로퍼티는 DOM 객체 안에 쓰임
-
DOM 노드는 JS 객체
-
요소 노드에서 대부분의 표준 HTML 속성은 DOM 객체의 프로퍼티로 변환됨
-
요소 노드의 HTML 속성이 표준이 아닐 경우 DOM 프로퍼티로 전달(변환) 안 됨
-
속성의 타입은 문자열이며 이름은 대/소문자 구별 안 함
-
프로퍼티의 타입은 모든 타입으로 가능하며 각 표준 프로퍼티 타입은 명세서에 설명
-
속성에 직접 접근하는 JS 메서드 존재
-
속성보다 프로퍼티 사용 지향. (정확한 HTML 속성 값 필요할 경우 속성 값 사용)
-
비 표준 속성 사용 시 추후 해당 속성 정식 지원하는 경우 문제 발생
-
‘data-‘로 시작되는 속성 전체는 은 비표준 속성을 보호하고 개발자가 용도에 맞게 사용하도록 별도로 예약되며 dataset 프로퍼티로 해당 속성 접근 (-을 여러번 사용한 여러 단어로 구성된 속성은 카멜 표기법 사용돼서 변형됨)
-
DOM 프로피티와 속성 값이 다른데 ‘원본’ 값 얻고 싶은 경우 속성 사용.