With built-in events and callbacks using addEventListener.
Core DOM APIs like getElementById, innerHTML etc are used.
Via OOP patterns or global variables with callbacks.
Direct DOM scripting by building elements dynamically.
DevTools, Babel for transpiling, Webpack for bundling, and Jest/Mocha for testing.