Saying it's "just strings" is disingenuous. You could make a js interpreter that uses strings internally too.

No. Tcl is all strings from a language point of view. To your Tcl code, everything is a string.

Internally in the main Tcl implementation, it isn't just strings. It's a bit cleverer so it can be faster. But that is completely invisible to the Tcl programmer.

JavaScript is not just strings. It has real types (even if it is happy to coerce them to strings at the drop of a hat).

To put it another way, JavaScript has `typeof` which returns the type of an object. Tcl doesn't have that because the answer would always be "string".

tcl::unsupported::representation will expose the actual internal type.