Web Components
上記の問題を解決するために、3つの主要なWeb Components技術が用いられる。
カスタム要素: 再利用可能なまとまり(コンポーネント)としてカスタムHTML要素を定義可能にする
ShadowDOM: CSSの適用範囲・JavaScriptのアクセス範囲を限定し独立したコンポーネント化を可能にする
HTMLテンプレート: HTML要素群のテンプレート化を可能にし(template要素)インスタンスへの要素注入を可能にする(slot要素)
HTMLテンプレートによってHTML要素のまとまりを作り出し、ShadowDOMによってCSS・JavaScriptを含めてまとまりを隔離し、それらがHTML内で再利用可能なようにカスタムHTML要素化する。このコンポーネントを利用する際にslot要素へ適切な要素を挿入(注入)することで、引数を用いた関数呼び出し・classインスタンス化のように、コンポーネントの振る舞いを変えることができる。