Document: implementation property

The Document.implementation property returns a DOMImplementation object associated with the current document.



const modName = "HTML";
const modVer = "2.0";
const conformTest = document.implementation.hasFeature(modName, modVer);

console.log(`DOM ${modName} ${modVer} supported?: ${conformTest}`);

// Log: "DOM HTML 2.0 supported?: true" (hasFeature always returns true)

Warning: Do not use this for feature detection. The hasFeature() method always returns true.


The W3C's DOM Level 1 Recommendation only specified the hasFeature method, which is one way to determine if a DOM module is supported by a browser (see example above and What does your user agent claim to support?). If available, other DOMImplementation methods provide services for controlling things outside of a single document. For example, the DOMImplementation interface includes a createDocumentType method with which DTDs can be created for one or more documents managed by the implementation.


DOM Standard
# ref-for-dom-document-implementation①

Browser compatibility

BCD tables only load in the browser