When looking at the ECMAScript 4th Edition specification here it mentions that

ES3 is a simple, highly dynamic, object-based language that takes its major ideas from the languages Self and Scheme.

I'm not familiar with these two languages and cannot seem to find any mention of what exactly is similar to these languages in ECMAScript.

Would someone be able to explain to me the features that ECMAScript has taken from these languages?


I've never used Self myself, but I believe that JavaScript's extensive use of prototypes came from Self.

As for Scheme's influence, you need look no further than JS's first-class functions and lexical scoping (okay, so JS doesn't implement full lexical scoping in the way Scheme does, it implements function-level scoping, but still, it's close).

  • So am I correct in saying that JavaScript inherited the ideas of these languages rather than any specific functionality? – AverageMarcus Apr 6 '13 at 17:23
  • Sure, that sounds right to me. – Chris Jester-Young Apr 6 '13 at 17:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.