The read-only nodeType property of a Node interface is an integer that identifies what the node is. It distinguishes different kinds of nodes from each other, such as elements, text, and comments.
An integer which specifies the type of the node. Possible values are:
Node.ELEMENT_NODE (1)Node.ATTRIBUTE_NODE (2)Node.TEXT_NODE (3)Node.CDATA_SECTION_NODE (4)A CDATASection, such as <!CDATA[[ … ]]>
Node.PROCESSING_INSTRUCTION_NODE (7)A ProcessingInstruction of an XML document, such as <?xml-stylesheet … ?>.
Node.COMMENT_NODE (8)A Comment node, such as <!-- … -->.
Node.DOCUMENT_NODE (9)A Document node.
Node.DOCUMENT_TYPE_NODE (10)A DocumentType node, such as <!doctype html>.
Node.DOCUMENT_FRAGMENT_NODE (11)A DocumentFragment node.
The following constants have been deprecated and are not in use anymore: Node.ENTITY_REFERENCE_NODE (5), Node.ENTITY_NODE (6), and Node.NOTATION_NODE (12).
document.nodeType === Node.DOCUMENT_NODE; // true
document.doctype.nodeType === Node.DOCUMENT_TYPE_NODE; // true
document.createDocumentFragment().nodeType === Node.DOCUMENT_FRAGMENT_NODE; // true
const p = document.createElement("p");
p.textContent = "Once upon a time…";
p.nodeType === Node.ELEMENT_NODE; // true
p.firstChild.nodeType === Node.TEXT_NODE; // trueThis example checks if the first node inside the document element is a comment, and displays a message if not.
const node = document.documentElement.firstChild;
if (node.nodeType !== Node.COMMENT_NODE) {
console.warn("You should comment your code!");
}