I was just going through the code of Jbox and cam across the following snippet of code:
// Internal functions, used to easily get values
this._getOpp = func
It's a technique that I know as a decision table (a wrote a blog post about them a while ago), but other might call it by different names.
It uses the square bracket notation in the same way you'd reference the index of an array:
var arr = [0, 2, 3];
return arr[1]; // return the second value in the array
Because object properties are key
/value
pairs it works like this:
return {
left: 'right',
right: 'left',
top: 'bottom',
bottom: 'top',
x: 'y',
y: 'x'
}[opp]
It will actually return the string value
, to the key
opp
.
i.e. if opp
is 'right', it will return 'left'.
n.b. the wiki page on decision tables is also worth a read