In the middle of this page, I find the code below.
var plus = function(x,y){ return x + y };
var minus = function(x,y){ return x - y };
var operations = {
\'+
It's called bracket notation. In JavaScript you can use it to access object properties.
My JavaScript book says that object properties need be named with arbitrary names. But '+' and '-' are not names. From the original question, it is inferred that object properties just need be keyed, not named.
operations
is an object and when you do operations[property]
you will get the associated function and then you are passing the operands as x and y.
operations['+']
is function (x,y){ return x + y }
which is plus
operations['-']
is function (x,y){ return x - y }
which is minus
It is a dictionary access, which is like an array, but with a key instead of a numeric index.
operations['+']
will evaluate to the function plus
, which is then called with the arguments plus(x,y)
.
here operations
is an object where the symbols +
and -
refers to two functions.
operations[operation]
will return a reference to function plus
where value of operation
is +
and then the following ()
will invoke the function