Obviously anybody, who has written more than twenty lines of JS in his/her life, either uses a class builder or at least utility functions to do these things.
Among those features of Joose that you won't find in your every day JS class builder are (all fancy meta stuff intentionally left out):
- Automatic generation of accessor methods for attributes
- Automatic generation of object initialization methods
- Method modifiers (before, after, etc.)
- Overriding of super class methods with access to the overriden method from the super class
- Automatic serialization and deserialization of your (nested) objects to JSON (Joose.Storage)