I'm trying to understand if bindings and variables are the same thing in JavaScript. If they're not, what exactly distinguishes one from the other?
3 Answers
Bindings are like links between variables and values. It's the idea that when you create a variable, you're actually forming this connection. Think of it this way: when you say `const foo = 3;`, you're binding the value 3 to the identifier foo. If you change the value, you’re essentially changing the binding, while the variable name remains the same.
Bindings and variables are not the same in JavaScript. Basically, a binding is the connection that links a variable name (or identifier) to a value or reference in memory. When you declare a variable with let, const, or var, you're actually creating a binding. The variable itself is the data that gets assigned to this binding. So, in short, a variable is the value, and a binding is the reference to that value.
Nope, they're not the same! In JavaScript, a binding is what you create when you associate a name with a value. Variables hold that value. So, when you create a variable, you're binding it to some data in memory, but the variable and the binding itself are two different concepts.

Exactly! And it gets a bit more complex when you look at objects, right? Like when you say `const bar = { baz: 9 }`, the property baz is also a binding.