Object-Oriented Techniques in JavaScript
So far in this chapter we’ve covered the architectural
fundamentals of classes in JavaScript: the importance of the prototype
object, its connections to the constructor function, how the instanceof operator works, and so on. In
this section we switch gears and demonstrate a number of practical
(though not fundamental) techniques for programming with JavaScript
classes. We begin with two nontrivial example classes that are
interesting in their own right but also serve as starting points for
the discussions that follow.
Example: A Set Class
A set is a data structure that represents an unordered collection of values, with no duplicates. The fundamental operations on sets are adding values and testing whether a value is a member of the set, and sets are generally implemented so that these operations are fast. JavaScript’s objects are basically sets of property names, with values associated with each name. It is trivial, therefore, to use an object as a set of strings. Example 9-6 implements a more general Set class in JavaScript. It works by mapping any JavaScript value to a unique string, and then using that string as a property name. Objects and functions do not have a concise and reliably unique string representation, so the Set class must define an identifying property on any object or function stored in the set.
Example 9-6. Set.js: An arbitrary set of values
functionSet(){// This is the constructorthis.values={};// The properties of ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access