Repeating my own answer to a similar question,
There’s no accepted definition of
functional programming language.If you define functional language as
the language that supports first class
functions and lambdas, then yes, JavaScript *is* a
functional language.If you also consider the factors like
support for immutability, algebraic
data types, pattern matching, partial
application etc then no, JavaScript
*is not* a functional language.
I’d encourage you to read the
following related blog posts (and also
the comments below them):
Scala is not a functional language
Erlang is not functional
Reddit discussion on “Erlang is not functional”