JavaScript's object-oriented implementation – using prototypes
JavaScript is a class-less language. That's not to mean it is less fashionable or more blue-collar than other computer languages; class-less means it doesn't have a class structure in the same way that object-oriented languages do. Instead, it uses prototypes for inheritance.
Although this may be baffling to programmers with backgrounds in C++ and Java, prototype-based inheritance can be much more expressive than traditional inheritance. The following is a brief comparison between the differences between C++ and JavaScript:
C++ |
JavaScript |
---|---|
Strongly typed |
Loosely typed |
Static |
Dynamic |
Class-based |
Prototype-based |
Classes |
Functions |
Constructors |
Functions |
Methods |
Functions |
Get JavaScript: Functional Programming for JavaScript Developers now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.