Modules and Namespaces
Namespace Lookup
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
operationstarts asdouble.- The lookup object stores three functions:
double,triple, andsquare. - Bracket lookup selects the
doublefunction. - The selected function receives
5. double(5)returns10, so the program printsresult=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.