Bad question on my part. More relevant: Why wasm? From what I gather, js seems to already have a bytecode for their JIT runtime. Why not expose that so that we can have C++ in the web?
This is kind of a nonsensical statement. JS itself doesn't have a bytecode, it's just a specification of the language you write scripts in.
Each implementation has its own intermediate representations, including bytecode formats.
WASM is a vendor-neutral standard that is designed as a compilation target and designed with safety in mind.
SpiderMonkey/JSC/V8 internal bytecode formats are just that, compiler internals.