The Science of Programming/SwayPresentations/Objects/ClassAndObjectComponents2
Class and Object Components, continued
Here's an attempt...
var z = { var z_shared = { var count = 0; this; }; function z() { var shared = z_shared; var count = 0; shared . count += 1; count += 1; this; } }; function x() { extends(z()); }
Testing...
inspect(x() . shared . count); inspect(x() . count); inspect(x() . shared . count);
Output is as desired:
x() . shared . count is 1 x() . count is 1 x() . shared . count is 3
The beauty of concatenation...