According to MDN, WebAssembly is a new type of code that can be run in modern web browsers — it is a low-level assembly-like language with a compact binary format that runs with near-native performance and provides languages such as C/C++, C# and Rust with a compilation target so that they can run on the web. It is also designed to run alongside JavaScript, allowing both to work together.
If this sounds like a mouthful, don’t worry. Let me try to break it down for you to the best of my abilities as a brief overview.
Let’s start off with the word Assembly, usually it means Gathering. For our topic at hand, let’s say we have some text/source code file, we can run them through an Assembler program so that we can get a converted binary code file out of that, which we can directly run in a machine. This is essentially the whole working process of an assembler, except in this case the machine happens to be a virtual machine running in the browser. The assembler program is a compilation target for languages like C/C++ using Emscripten, TypeScript/JavaScript using AssemblyScripy, Rust using nothing but the source compiler among other languages.

Web assembly produces a compact binary file/code resulting in fast and predictable performance, and portability to run alongside JavaScript and other host languages. It is currently shipped in all major browsers, and has runtimes meant for running on servers or interfacing with systems using WASI.
To be continued…