prototyped-based object oriented
interpreted or just-in-time compiled
garbage-collected programming language with
first-class functions and a non-blocking
event loop concurrency model.
It just simply means that functions are treated as regular variables., So we can pass functions into other functions and this is extremely powerful because it allows us to use a lot of powerful techniques and also allows for functional programming
Source: Jonas Schmedtmann Udemy Course