Even though it's tricky at first, particularly if you are used to classical object-oriented languages, it's easy (and highly encouraged) to perform information hiding in JavaScript. There are more than a few methods by which you can hide information within privileged scopes. Closures, properties (getters and setters), and factories, are all ways in which you can improve your designs by hiding away the complexity behind the public interfaces your code exposes.Information hiding results in cleaner, conciser code, that's easier to read, and therefore, more maintainable (and easily testable).