What is a DOM element under the hood?

It’s likely to correspond to a C++ object under the hood since most web browsers are written in C++.

So it’s very analogous to userdata types in Lua.

So the “body” DOM element for instance is always there, when we assign one to a javascript variable all that is happening is we are getting a reference to it.