노드(node)는 컴퓨터 과학에 쓰이는 기초적인 단위이다. 노드는 대형 네트워크에서는 장치나 데이터 지점(data point)을 의미한다. 개인용 컴퓨터, 휴대전화, 프린터와 같은 정보처리 장치들이 노드이다. 인터넷에서 노드를 정의할 때 노드는 IP 주소를 보유한 어떠한 것도 될 수 있다. 노드는 더 커다란 자료 구조의 일부분 하나 하나를 의미할 수 있는데 이를테면 연결 리스트라든지 트리 자료 구조를 들 수 있다. 노드는 데이터를 포함하며 다른 노드와 연결될 수도 있다. 노드 간 링크는 포인터에 의해 구현되기도 한다.
출처 : 위키백과
DOM에서 모든것은 노드이고 모든 노드는 객체입니다. 노드는 모든 부분에서 일반적인 용어로 사용됩니다. 태그노드, 텍스트노드를 모두 포함
DOM은 Node의 계층 구조로 이루어져 있다. 각 노드는 부모와 children을 가질 수 있다.
Node type
Node.ELEMENT_NODE
Node.ATTRIBUTE_NODE
Node.TEXT_NODE
Node.CDATA_SECTION_NODE
Node.PROCESSING_INSTRUCTION_NODE
Node.COMMENT_NODE
Node.DOCUMENT_NODE
Node.DOCUMENT_TYPE_NODE
Node.DOCUMENT_FRAGMENT_NODE
Node.NOTATION_NODE
특정 노드 유형중 하나입니다. 이것은 list item, div body 등등 특정 유형이다.
Element는 node의 특정 타입 즉, Node.ELEMENT_NODE인 것이다.
element는 HTML에서 태그로 적은 노드들을 지칭한다.
텍스트 노드를 제외, 태그(요소)를 선택
예를 들어, <html>, <div>, <title>
과 같은 태그로 나타낸 것들은 전부 element인 것이다.
주석이나 text node와 같은 것들은 HTML 태그로 표현된 것이 아니므로 element가 아니다.
JS DOM에서Node는 node의 constructor이고, HTMLElement는 element의 constructor이다.
paragraph는 node이자 동시에 element이다.