Expression vs Statement

I was doing the React Tutorial – Learn React – React Crash Course [2019] from CodeWithMosh,
and I heard his explanation of what expression means and it clicked…

an Expression is something that produces a value, E.G 2+2, a function call

than I have found this https://blog.kotlin-academy.com/kotlin-programmer-dictionary-statement-vs-expression-e6743ba1aaa0

An expression in a programming language is a combination of one or more explicit values, constants, variables, operators and functions that the programming language interprets and computes to produce another value.

In computer programming, a statement is the smallest standalone element of an imperative programming language that expresses some action to be carried out.

__

We can ask questions with expressions. JavaScript will answer to us with values. For example, the 2 + 2 expression is answered with 4.

Expressions
There are many questions JavaScript can’t answer. If you want to know whether it’s better to confess your true feelings to your best friend or to keep waiting until you both turn into skeletons, JavaScript won’t be of much help.
But there are some questions that JavaScript would be delighted to answer. These questions have a special name — they are called expressions.
If we “ask” the expression 2 + 2, JavaScript will “answer” with the value 4.
console.log(2 + 2); // 4
Expressions are questions that JavaScript can answer. JavaScript answers expressions in the only way it knows how — with values.

Lin Clark: A Cartoon Intro to WebAssembly

Wow, what a nice crash course/overview of
– compilers
– cpu, memory , etc…

Lin Clark: A Cartoon Intro to WebAssembly | JSConf EU 2017

LaterEdit:
To complete the picture, https://www.infoq.com/presentations/webassembly-intro
says that it is a stack machine.
Basically, at minute 39, it shows how adding 2 numbers will look on the stack, stack machine