Is Element.innerHTML (or Element.outerHTML) is evaluated each time something gets access to it, each time an element is changed, or lazily only if the element has been changed?
For example, where is it evaluated in the following code for el:
let el = document.createElement("div")
let another = document.createElement("div")
let text = document.createTextNode("text")
// evaluated here?
el.appendChild(another)
// again evaluated here?
another.appendChild(text)
// lazily evaluated here?
console.log(el.innerHTML)
// what will happen here? simple access or reevaluation?
console.log(el.innerHTML)