Two things: first, many other languages also have first-class functions and closures, for example, Lisp, Smalltalk, Ruby, Python, Objective-C, PHP, Perl, C#, etc. Just because a language has first-class functions and closures doesn’t make it a “functional programming” language. Is Smalltalk or Python functional?

Second, despite claims that JavaScript was Scheme or Lisp-inspired, it lacks the key features that characterize Scheme or Lisp: 1) the “list” data type; 2) homoiconicity; 3) macros; 4) Lisp’s clean and simple syntax.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store