• Each file can contain the logic for only a single component
    • HTML is defined first and the logic is enclosed inside a <script> tag.
    • All template expressions are “just javascript™️”: <pre>{ JSON.stringify(props) }</pre>
    • The this keyword is optional: is valid as <p>{ this.name }</p>
    • Boolean attributes (checked, selected, etc.) are ignored when the expression value is falsy: becomes <input>.
    • All attribute names must be lowercase. This is due to browser specification.
    • Tag definition root may also have attributes: <my-component onclick={ click } class={ props.class }>.