Many things can be changed. For example, you can freely add and remove properties (fields) of objects after they
have been created. And you can directly create objects, without creating an object factory (e.g., a class) first.
Variables and object properties can always hold values of any type.
Functional and object-oriented
partial application via bind(), built-in map() and reduce() for arrays, etc.) and object-oriented programming
(mutable state, objects, inheritance, etc.).
It fails silently
silently and automatically converts the values of arguments and operands: it initially couldn't throw exceptions.
Deployed as source code
being a flexible delivery format and of abstracting the differences between the engines. Two techniques are
used to keep file sizes small: compression (mainly gzip) and minification (making source code smaller by renaming variables, removing comments, etc.; see Chapter 32 for details).
Part of the web platform
(such as Node.js), the more obvious it becomes.