- It is both Client side and server side script
- It is a dynamic language i.e. we can bind a variable with different values at different intervals.
- It object oriented
- It uses first class functions
- It uses prototypes for inheritance while many other languages used classes
- The functions it uses are objects themselves