Choose a namespaced operation by key.

Namespace Lookup

namespace_lookup.js
const operation = "double";
const result = {
  double(value) {
    return value * 2;
  },
  triple(value) {
    return value * 3;
  },
  square(value) {
    return value * value;
  },
}[operation](5);

console.log("operation=" + operation);
console.log("result=" + result);

Follow the Operation

  1. operation starts as double.
  2. The lookup object stores three functions: double, triple, and square.
  3. Bracket lookup selects the double function.
  4. The selected function receives 5.
  5. double(5) returns 10, so the program prints result=10. | operation | function called | input | result | | --- | --- | ---: | ---: | | double | value * 2 | 5 | 10 | | triple | value * 3 | 5 | 15 | | square | value * value | 5 | 25 |
namespace-lookup When operations are grouped by name, bracket lookup can choose one operation from a small table of functions.

Exercise: namespace_lookup.js

Reproduce operation=double and result=10, then use operations triple and square to predict result=15 and result=25.