Binding
In programming, abindingis an association of anidentifierwith a value. Not all bindings arevariables— for example, functionparametersand the binding created by thecatch (e)
block are not "variables" in the strict sense. In addition, some bindings are implicitly created by the language — for example,this
andnew.target
in JavaScript.
A binding ismutableif it can be re-assigned, andimmutableotherwise; this doesnotmean that the value it holds is immutable.
A binding is often associated with ascope.Some languages allow re-creating bindings (also called redeclaring) within the same scope, while others don't; in JavaScript, whether bindings can be redeclared depends on the construct used to create the binding.