Custom Elements </>
Probably the most obvious aspect of a web component is the ability to create, modify and control HTML elements. The introduction of Custom Elements into browser standards enables us to break away from the limited vocabulary that HTML offers. This means we can create true mark-up semantics that are really meaningful in context of the application, whatever that may be, gone are the days of endlessly nested <div> tags with a littering of classes trying to suggest a structure as Custom Elements provide us with the ability to write some truly beautiful HTML.
One thing that is worth noting is that standards have been defined for the naming convention of Custom Elements, any element must contain a hyphen, this ensures that Custom Elements are easily identified as such amount core conflicts with future core HTML elements, as well as mitigating the risk of any conflicts with future core HTML Elements.
So last but most definitely not least, we have the shadow DOM, this is arguably the most powerful part of Web Components. Each HTML element in the DOM, whether it is core or custom, can have its own DOM hidden within it.