Group a related function under a namespace object.

namespace-method A namespace object groups related operations under one name. This chapter uses object-namespace style so the trace can stay in one source file.

Namespace Method

amount
namespace_method.js
Replay: real traced execution (multi-file project)
const amount = 4;
const total = {
  addTax(value) {
    return value + 2;
  },
}.addTax(amount);

console.log("amount=" + amount);
console.log("total=" + total);
const amount = 7;
const total = {
  addTax(value) {
    return value + 2;
  },
}.addTax(amount);

console.log("amount=" + amount);
console.log("total=" + total);
const amount = 10;
const total = {
  addTax(value) {
    return value + 2;
  },
}.addTax(amount);

console.log("amount=" + amount);
console.log("total=" + total);
  1. amount ← 4, total ← 6

    1const amount→ 4 = 4; //@amount=7, 102const total→ 6 = {3  addTax(value) {4    return value + 2;5  },6}.addTax(amount4);78console.log("amount=" + amount4);9console.log("total=" + total6);
    outputamount=4
    total=6
  1. amount ← 7, total ← 9

    1const amount→ 7 = 7;2const total→ 9 = {3  addTax(value) {4    return value + 2;5  },6}.addTax(amount7);78console.log("amount=" + amount7);9console.log("total=" + total9);
    outputamount=7
    total=9
  1. amount ← 10, total ← 12

    1const amount→ 10 = 10;2const total→ 12 = {3  addTax(value) {4    return value + 2;5  },6}.addTax(amount10);78console.log("amount=" + amount10);9console.log("total=" + total12);
    outputamount=10
    total=12