Category:JavaScript: Difference between revisions

m
Added link to Tasks not implemented in JavaScript
(minor typo - this page probably needs a refresh to bring it up to date with Node.js etc)
m (Added link to Tasks not implemented in JavaScript)
 
(9 intermediate revisions by one other user not shown)
Line 13:
JavaScript is a registered trademark of [[Sun Microsystems]], Inc. It was used under license for technology invented and implemented by Netscape Communications and current entities such as the Mozilla Foundation.
 
Major browsers have generally implemented the features of ECMASScript 5 (ES5), and have started to adopt elements of ES6.
JavaScript has been born again, now that [[AJAX]] has come up. The meaning of this is simply that [[AJAX]] has shown that JavaScript is really still useful in a lot of domains and that (most) web pages that use it can be given a whole new life.
Updates to implementation of ES6 features are tabulated here: [https://kangax.github.io/compat-table/es6/ https://kangax.github.io/compat-table/es6/]
 
Once largely confined to browser environments, and typically isolated from access to system resources, JavaScript (and particularly the cross-platform [https://nodejs.org/en/ Node.js runtime environment]) is now very widely used in server-side and application scripting environments, with full access to local file systems and other OS resources.
There's a nice table on Wikipedia that shows which version of JavaScript is released in which version of a browser: [[wp:JavaScript#Versions]]
 
At the same time, mainly because of JavaScript's role in the web, there is a growing number of other languages which [https://github.com/jashkenas/coffeescript/wiki/list-of-languages-that-compile-to-js compile to JavaScript].
 
The inclusion of '''tail-call optimisation''' in the ES6 standard reflects increased interest in functional approaches to the composition of JavaScript code, expressed for example, in significant adoption of libraries like Underscore and Lodash. If ES6 tail-call optimisation is widely implemented by JavaScript engines (so far this has mainly been achieved only by Apple's Safari engine) it will make JavaScript a more efficient and more natural environment for coding in a functional idiom.
 
==Citations==
* [[wp:Javascript|Wikipedia:Javascript]]
* [https://nodejs.org/en/ Node.js] Event-driven I/O server-side JavaScript environment based on V8
* [http://www.squarefree.com/shell/ JavaScript shell], can run many of the JavaScript examples here
* [https://www.npmjs.com npm – Node.js Package Manager] Claims to be the largest ecosystem of open source libraries in the world
* [https://developer.apple.com/library/mac/releasenotes/InterapplicationCommunication/RN-JavaScriptForAutomation/Articles/Introduction.html OS X JavaScript for Applications] JavaScript as an OS X scripting language – supported by the Safari debugger
* [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Shells Other JavaScript shells] List maintained by Mozilla
* [https://github.com/jashkenas/coffeescript/wiki/list-of-languages-that-compile-to-js List of languages that compile to JS] maintained on Github by Jeremy Ashenas – author of CoffeeScript, Underscore and Backbone
* [http://shop.oreilly.com/product/0636920028857.do Functional JavaScript] – Michael Fogus, O'Reilly 2013
 
==To do==
[[Tasks not implemented in JavaScript]]
3,022

edits