Interesting that the custom element appears to just take a single JavaScript object as a parameter: In JSX this would be either: or: This is almost as ergonomic as JSX except for attributes like checked where the value is omitted. It might encourage some refactoring, compared with React, because the thought of putting attributes in a variable and adding them as a spread might occur more often when seeing an object be…
Am I the only one who would rather write the following instead of JSX? Board.draw(game) or drawBoard(game)
The thing with JSX is introduces a syntax that is familiar to the rendered output (which is the status quo), and there's a relatively clear visual separation between the declarative and imperative parts; which is hard to enforce in pure JS.