Draft:Outline of JavaScript

From Wikipedia, the free encyclopedia

The following outline is provided as an overview of and topical guide to JavaScript:

JavaScript (/ˈɑːvəskrɪpt/), often abbreviated as JS, is a programming language and core technology of the Web, alongside HTML and CSS. 99% of websites use JavaScript on the client side for webpage behavior.

What type of thing is JavaScript?[edit]

JavaScript is an example of all of the following:

  • Programming language – formal computer language designed for writing programs to run on computers. JavaScript is mostly used for automating web pages, or making programs that work within web pages. Its capabilities include producing graphics, and manipulating text, HTML code, as well as CSS rules and elements.
    • High-level programming language – programming language more like human language and less tedious than machine code, providing features that standardize common tasks, permit rich debugging, and maintain machine independence. Rather than dealing with registers and memory addresses, JavaScript features variables, functions, and other abstract constructs, which makes it slower than machine code but much easier to write.
      • Dynamic programming language – class of high-level programming languages which execute certain programming behaviors as they run, making them more flexible than static programming languages (which perform those behaviors during compilation). For example, as with most scripting languages, JavaScript is dynamically typed: its types are associated with each value, rather than just with each expression. (E.g., a variable that is at one time bound to a number may later be re-bound to a string.[1]).
      • Interpreted language – programming language for writing instructions that are executed directly by an interpreter, without compiling. This is what makes JavaScript programs platform independent; they are typically interpreted by the various JavaScript engines embedded in browsers.
      • Multi-paradigm programming language – programming language designed to allow programmers to use the most suitable programming style and associated language constructs for a given job, considering that no single paradigm solves all problems in the easiest or most efficient way. See Programming styles supported.
      • Object-based language – programming language that uses the idea of encapsulating state and operations inside "objects". Object-based languages need not support inheritance or subtyping, but those that do are also said to be "object-oriented", and include those which support a prototype-based programming style, like JavaScript, which do not have classes, but in which objects instead inherit their code and data directly from other "template" objects.
      • Scripting language – programming language that supports scripts. Scripts automate the execution of tasks that could alternatively be executed one-by-one by a human operator. Scripts are programs written for a special run-time environment; the main type of run-time environment that JavaScript programs are written for are browsers.
      • Untyped programming language – an untyped language, such as JavaScript, allows any operation to be performed on any data, which are generally considered to be sequences of bits of various lengths.[2]

Names of JavaScript[edit]

Etymology of JavaScript[edit]

  • Etymology of JavaScript – the language was initially named Mocha, then changed to LiveScript, then renamed to JavaScript.
  • "Java" – the "Java" in "JavaScript" has caused confusion, implying a relation with the Java programming language. JavaScript is not a version, distribution, or spin-off of Java, though JavaScript did take inspiration from Java for its syntax. Netscape's naming JavaScript after Java has been characterized as a marketing ploy to take advantage of the popularity of the word "Java" at the time.
  • "Script" – the "Script" in "JavaScript" no longer describes the language accurately. While JavaScript started out as a scripting language, it has developed into a sophisticated multi-paradigmatic programming language, though it retains its scripting language functionality.

Synonyms of JavaScript[edit]

  • ECMAScript – the specification language upon which JavaScript is based. The terms EMCAScript and JavaScript are used interchangeably within the field. 'ES' has also been used as a prefix for shorthand names of versions of JavaScript: [3]
    • 'ES5': ECMAScript Fifth Edition, adopted in 2009.
    • 'ES6' / 'ES2015': ECMAScript Sixth Edition, adopted in 2015.
    • 'ES7' / 'ES2016': ECMAScript Seventh Edition, adopted in 2016.
    • 'ES2017': ECMAScript Eighth Edition, adopted in 2017.
  • JScript – essentially, "JavaScript for Internet Explorer". MicroSoft reverse engineered JavaScript and then named the implementation JScript to avoid infringing upon Sun's ownership of the JavaScript trademark. Since then, Microsoft has switched over to using the name JavaScript to refer to the implementation of JScript used in its Edge browser.
  • Vanilla JavaScript (site) – jargon for "plain JavaScript", that is, JavaScript not extended by any frameworks or additional libraries. It even has its own prank promotion page, presenting it as the best JavaScript framework.
  • Vanilla JS (site) – same as "Vanilla JavaScript"

JavaScript trademark[edit]

  • Ownership of the JavaScript trademark – "JavaScript" as a trademark is technically owned by Oracle, which acquired Sun, which acquired NetScape, which created JavaScript and initialy registered the trademark.
  • Non-enforcement of the JavaScript trademark – the trademark doesn't appear to be enforced, and may be indefensible. Many companies and individuals throughout the field are using it in their product names as a generic term, apparently without legal repercussions.

Prerequisites for using JavaScript[edit]

Prerequisites to JavaScript[edit]

Prerequisites to understanding JavaScript – JavaScript is one of the three core technologies used for defining webpages. JavaScript is a complementary technology that works with HTML and CSS, amongst others. JavaScrpt refers to and modifies the markup, and therefore understanding these other languages is useful for writing JavaScript programs.

  • HTML (HyperText Markup Language) – standard markup language used to create the web pages (HTML files) that make up the World Wide Web and which are read and presented by web browsers. HTML provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists, links, quotes and other items. HTML elements form the building blocks of HTML files ("HTML pages"), and JavaScript is used to dynamically change HTML pages by modifying their HTML elements or creating new ones.
  • CSS (Cascading Style Sheets) – style sheet language used for describing the presentation of a document written in a markup language (including HTML).[4] CSS is designed primarily to enable the separation of document content from document presentation, including aspects such as the layout, colors, and fonts.[5] This separation can improve content accessibility, provide more flexibility and control in the specification of presentation characteristics, enable multiple HTML pages to share formatting by specifying the relevant CSS in a separate .css file, and reduce complexity and repetition in the structural content. JavaScript can dynamically modify CSS to change the presentation of web pages.

Tools required for JavaScript programming[edit]

Tools required for JavaScript programming – the only tool required for writing programs in JavaScript is a text editor, though other tools are very useful.

  • Text editor – program used for editing plain text files. JavaScript programs can be written in even the simplest text editor.
  • (For optional but useful tools, see JavaScript tools, below)

Method of execution[edit]

Method of execution – how a computer program is started. Typically, JavaScript programs are embedded within the HTML markup of a webpage, or called from within the HTML markup using a script call, and are executed automatically by the browser when it reads the webpage. Another method is the bookmarklet, which requires the user to click on it to execute. Various methods of execution for JavaScript programs include:

  • Methods of executing scripts in web browsers:
    • Embedding in webpage HTML
      • Script tags – a script is embedded in a webpage by including it between <script> and </script>
      • Script call
      • Bookmarklet – technique of saving JavaScript within a bookmark or hyperlink, so that it can be executed by clicking on it. In many cases, the bookmarklet can be dragged and dropped to the browser toolbar for easier access. Here is an example bookmarklet:
        • JavaScript:name=prompt("What is your name?"); alert("Hello, " + name);
    • Installed as a browser extension – a browser extension is a plug-in that extends the functionality of a web browser in some way. Many browser extensions are written in JavaScript.
      • Installed as an add-on in Firefox – Firefox add ons allow the user to add or augment application features, use themes to their liking, and handle new types of content. Many add-ons are written in JavaScript.
    • Installed as a userscript – JavaScript program written to modify web pages to augment browsing. They are installed in browsers by use of a userscript manager browser extension like Tampermonkey or Greasemonkey. A userscript feature is also available for registered users of Wikipedia, and can augment editing and viewing of that encyclopedia's pages.
    • As a bookmark – using the bookmarklet technique.
  • Methods of executing scripts in runtime environments:
  • Methods of executing scripts in other programs:

JavaScript system requirements[edit]

Environment support for JavaScript[edit]

Environment support for JavaScript – where JavaScript can be run. This includes client-side support in browsers, server-side support in web servers, and runtime environments to provide support in operating systems on desktop computers and other machines.

  • On the World Wide Web – JavaScript may be executed at the web server (or "server-side") upon webpages (or to generate them) before they are sent to the client (the user's browser), or executed client-side by the client upon receipt of a webpage. Client-side JavaScript is typically embedded in the HTML of webpages.
    • Client-side environment support – this is achieved through client-side scripting. Client-side scripts are supported in:
      • Browsers – JavaScript can run in browsers that include a JavaScript engine (see below). JavaScript sourcecode that is embedded in a webpage's HTML is executed by the JavaScript engine in the browser automatically when the browser reads the page.
    • Server-side environment support – this is implemented through server-side scripting. Server-side scripts are supported in:
  • Local environment support – JavaScript can be used to write applications for use on end user computers, and those applications can be run using a JavaScript runtime environment, such as Node.js.
JavaScript engines[edit]

JavaScript engine  (list) – program or library which executes JavaScript code. A JavaScript engine may be a traditional interpreter, or it may utilize just-in-time compilation to bytecode in some manner.[6] A JavaScript engine is most commonly included in web browsers, but is also a key component of JavaScript runtime environments and other software (such as database management systems).

  • Chakra – JavaScript engine developed by Microsoft for its Microsoft Edge web browser. It is a fork of the JScript engine used in Internet Explorer.
  • SquirrelFish – bytecode interpreter rewritten from JavaScriptCore.
  • Nashorn – JavaScript engine developed in the Java programming language by Oracle. It is based on the Da Vinci Machine (JSR 292) and was released with Java 8. Its purposes are to enable embedding JavaScript in Java applications, and to develop standalone JavaScript applications.
  • Rhino – JavaScript engine written fully in Java and managed by the Mozilla Foundation as open source software. It is intended to be used in server-side applications, hence there is no built-in support for the Web browser objects that are commonly associated with JavaScript.
  • SpiderMonkey – the JavaScript engine in Firefox
  • Tamarin – still supported as part of Flash Player.
  • V8 – used in Google Chrome, Couchbase Server, MongoDB, and Node.js
  • Comparison of JavaScript engines
  • (For engines no longer actively developed or maintained, see Outmoded JavaScript engines)
JavaScript runtime environments[edit]

JavaScript runtime environments

  • Node.js – open-source, cross-platform JavaScript runtime environment for executing JavaScript code server-side, to produce dynamic web page content before the page is sent to the user's web browser. Node.js is built upon the Chrome V8 JavaScript engine.
  • Seed – interpreter and a library of the GNOME project to create standalone applications in JavaScript. It uses the JavaScript engine JavaScriptCore of the WebKit project.
  • Comparison of server-side JavaScript solutions
Other JavaScript-based solutions[edit]
  • CouchDB – server database that uses JavaScript as its query language.

Features of JavaScript[edit]

  • Universal web support – all modern Web browsers support JavaScript with a built-in JavaScript engine.

JavaScript specifications and standards[edit]

  • Main specifications
    • ECMAScript – standard specification originally based on JavaScript. Since ECMAScript's inception, JavaScript has followed that specification. While JavaScript aims to be compatible with ECMAScript, it also provides additional features not described in the ECMA specifications.[7]
    • CommonJS – project to create specifications for JavaScript beyond client-side scripting, to expand it into a more full-fledged language. For example, for writing server-side scripts and native desktop applications.
  • Asynchronous module definition (AMD) – API specification for JavaScript that defines code modules and their dependencies, and loads them asynchronously if desired.
  • Content Security Policy – computer security standard introduced to prevent cross-site scripting (XSS), clickjacking and other code injection attacks resulting from execution of malicious content in the trusted web page context.
  • JSGI – interface between web servers and JavaScript-based web applications and frameworks.

Programming styles supported[edit]

JavaScript supports the following programming paradigms:

Components of the JavaScript language[edit]

JavaScript syntax[edit]

JavaScript syntax (see tutorial) – set of rules that define correct structure for lines of code in a JavaScript program, such as when semicolons are needed at the end of a statement, whether or not letter case matters, where and how to use parentheses, what words are reserved as part of the language, the use of white space, the proper format for variable declarations, expressions, statements, functions, and so on.

Data types in JavaScript[edit]

[[Data type (JavaScript)|Data types in JavaScript] – a type is a classification of data which defines the operations that can be done on the data, the meaning of the data, and the way values of that type can be stored.

Variables in JavaScript[edit]

Variables in JavaScript[11]a variable is a storage location paired with an associated symbolic name (an identifier), which contains some known or unknown quantity of information referred to as a value. They correspond to variables in mathematics, but aren't limited to representing just numbers.

Operators in JavaScript[edit]

Operators in JavaScript[12]an operator is

Expressions in JavaScript[edit]

Expressions in JavaScriptan expression is

Statements in JavaScript[edit]

Statements in JavaScript[13]a statement is the smallest standalone element in a programming language that expresses some action to be carried out. Statements are instructions that command the computer to perform a specified action.

Functions in JavaScript[edit]

Functions in JavaScript[2] – in JavaScript, subroutines are called "functions". A subroutine is a sequence of program instructions that perform a specific task, packaged as a unit. This unit can then be used (and reused) in the program wherever that particular task needs to be performed.

Classes in JavaScript[edit]

Classes in JavaScript[14]a class is

Modules in JavaScript[edit]

Modules in JavaScript[15]a module is

Regular expressions in JavaScript[edit]

Regular expressons in JavaScript[16]a regular expression (regex) is See regular expression syntax in JavaScript.

Values in JavaScript[edit]

Event-handling in JavaScript[edit]

Cookies[edit]

Objects in JavaScript[edit]

Objects in JavaScript

Number[edit]
Boolean[edit]
String[edit]
Arrays[edit]
Date[edit]
Math[edit]

Asynchronicity in JavaScript[edit]

DOM manipulation in JavaScript[edit]

  • DOM – this stands for Document Object Model, the hierarchy (tree) produced by the browser of all the elements of a webpage. By processing the DOM via "methods" (functions stored as object properties, that is, the actions that can be performed on objects), JavaScript can dynamically change the page's HTML[17], such as:

Server-side scripting features[edit]

Server-side JavaScript

Client-side scripting features[edit]

JavaScript resources[edit]

JavaScript approaches[edit]

  • Ajax "(asynchronous JavaScript and XML)" – set of web development techniques using many web technologies on the client-side to create asynchronous Web applications. With Ajax, web applications can send data to and retrieve from a server asynchronously (in the background) without interfering with the display and behavior of the existing page. By decoupling the data interchange layer from the presentation layer, Ajax allows for web pages, and by extension web applications, to change content dynamically without the need to reload the entire page.
  • Dynamic HTML – predecessor of Unobtrusive JavaScript.
  • JavaScript templating
  • JSONP
  • Remote scripting
  • Unobtrusive JavaScript

JavaScript programming techniques[edit]

  • Bookmarklet – technique of saving JavaScript within a bookmark or hyperlink, so that it can be executed by clicking on it. In many cases, the link can be dragged and dropped to the browser toolbar for easier access.
  • HTML scripting – how locally executable scripts (such as those written in JavaScript) may be used in a web page.
  • Lazy initialization
  • Mutator method

JavaScript extensions[edit]

JavaScript frameworks[edit]

JavaScript framework

JavaScript client-side frameworks[edit]
JavaScript server-side frameworks[edit]
Both-side frameworks[edit]

JavaScript libraries[edit]

JavaScript library   (list) –

JavaScript webpage components[edit]

JavaScript webpage component – a JavaScript program that becomes part of a webpage.

  • Ace (editor) – standalone code editor written in JavaScript that can be easily embedded in any web page and JavaScript application.
  • Aloha Editor – open source WYSIWYG editor, written in JavaScript, that can be used in webpages to provide editing of content within the same layout that is shown to readers.
  • CodeMirror – provides a code editor in the browser
  • CKEditor – open source WYSIWYG text editor designed to bring common word processor features directly to web pages, simplifying their content creation. Its core code is written in JavaScript.
  • ContentTools – open-source WYSIWYG editor for HTML content, to make editable regions in webpages. It is written in JavaScript/CoffeeScript.
  • Epoch JavaScript Calendar

JavaScript tools[edit]

JavaScript tool

  • Bookmarklet – bookmark or hyperlink that contains JavaScript, and runs when you click on it. Can be dragged and dropped onto the toolbar for ease of access.
  • Browserify (site) –
  • Closure compiler (site) –
  • Emscripten – source-to-source compiler that translates sourcecode into a subset of JavaScript known as asm.js
  • Ubiquity – add-on for Firefox that provides access to commands written in JavaScript or Python.
  • iMacros – Macro extension to Firefox in which the macros can include JavaScript.
  • JavaScript InfoVis Toolkit
  • JSDoc

Task runners[edit]

Debugging tools[edit]

  • Linters – a lint or linter is a software tool that analyzes source code to flag programming errors, bugs, stylistic errors, and suspicious constructs.
  • Firebug – free and open-source add-on for Mozilla Firefox for live debugging, editing, and monitoring any website's CSS, HTML, DOM, XHR, and JavaScript.
  • Venkman

Editors that support writing JavaScript[edit]

  • Ace – free and open source standalone code editor written in JavaScript that can easily be embedded in any web page or JavaScript application.
  • Alphatk – proprietary editor that runs on any platform that Tk runs on (ie., most).
  • Aquamacs – free Emacs editor for use on Mac OS X.
  • Arachnophilia
  • Atom – free and open-source text and source code editor for macOS, Linux, and Microsoft Windows with support for plug-ins written in Node.js, and embedded Git Control, developed by GitHub. Atom is a desktop application built using web technologies, written in CoffeeScript and Less.
  • BBEdit – commercial sourcecode editor designed for software developers and web designers on Mac OS X.
  • CodeMirror – free and open source code-editor component that can be embedded in Web pages. It has a rich programming API and a focus on extensibility.
  • Notepad++ – free versatile text editor for Windows operating system.
  • SlickEdit
  • Sublime Text
  • Vim (text editor)
  • Visual Studio Code – includes intelligent code completion for JavaScript, JSON, and TypeScript, as well as debugging features for JavaScript, TypeScript, and Node.js.
  • Comparison of text editors

Online cloud JS editors[edit]

Integrated development environments for JavaScript[edit]

Testing software[edit]

JavaScript-based software[edit]

Free software programmed in JavaScript[edit]

JavaScript derivatives[edit]

JavaScript-inspired data formats[edit]

  • JSON (JavaScript Object Notation) –

JavaScript-inspired programming languages[edit]

JavaScript dialects – programming languages based on JavaScript, or the ECMA specification:

Languages that transcompile to JavaScript[edit]

Online JavaScript learning resources[edit]

For many more books and webpages on JavaScript, see #Further reading, below
  • Codecademy (free JavaScript course) – online interactive platform that offers free coding classes in 12 different programming languages including JavaScript (jQuery, AngularJS, and React.js), as well as the markup language HTML, and CSS.
  • Coursera (JavaScript courses) – offers MOOC courses, some accessible for free.
  • freeCodeCamp (site) – non-profit interactive learning web platform to make learning web development including JavaScript accessible to anyone.
  • Khan Academy (JS courses) – non-profit educational organization with the mission "to provide a free, world-class education to anyone, anywhere", by providing free video courses and instructional materials online.
  • Mozilla Developer Network (site) – official Mozilla website for development documentation of web standards and Mozilla projects. It is a resource for developers, maintained by the community of developers and technical writers and hosting many documents on a wide variety of subjects, such as: HTML5, JavaScript, CSS, Web APIs and Node.
  • OpenClassrooms (JavaScript courses) –
  • W3Schools (site)– popular web site for learning web technologies online, including tutorials and reference material for JavaScript, jQuery, AngularJS, JSON, Ajax, and W3.js.

JavaScript publications[edit]

For free online publications, see #Further reading, below

JavaScript news[edit]

History of JavaScript[edit]

History of JavaScript

Milestones[edit]

Influences[edit]

Version history[edit]

Outmoded JavaScript engines[edit]

JavaScript security issues[edit]

JavaScript security techniques[edit]

JavaScript community[edit]

JavaScript organizations[edit]

Persons influential in JavaScript[edit]

See also[edit]

Place these
Transcompilers
Debuggers
Editors (comparison)
Engines
Frameworks
Related technologies
Package managers
Server-side JavaScript
Unit testing

Articles with a JavaScript section[edit]

  1. ?:
  2. AES implementations
  3. Adobe AIR
  4. Anonymous function
  5. Anonymous recursion
  6. Apply
  7. Aptana
  8. Bootstrap (front-end framework)
  9. COLT (software)
  10. CSS hack
  11. CaRMetal
  12. Callback (computer programming)
  13. CartoDB
  14. Code cleanup
  15. Command pattern
  16. Comment (computer programming)
  17. Comparison of application servers
  18. Comparison of integrated development environments
  19. Comparison of programming languages (list comprehension)
  20. Comparison of programming languages (string functions)
  21. Comparison of web browsers
  22. Comparison of web frameworks
  23. Data URI scheme
  24. Dispatch table
  25. Document Object Model
  26. Double-precision floating-point format
  27. EXeLearning
  28. Earley parser
  29. Escape character
  30. Eval
  31. Event-driven architecture
  32. Exception handling syntax
  33. File select
  34. Fluent interface
  35. Foreach loop
  36. Foundation (framework)
  37. Front-end web development
  38. Generational list of programming languages
  39. Google Chrome Experiments
  40. Google PageSpeed Tools
  41. Higher-order function
  42. Holy Grail (web design)
  43. Immutable object
  44. InstallCore
  45. Internet Explorer 9
  46. Iterator pattern
  47. Java virtual machine
  48. Label (computer science)
  49. Leet (programming language)
  50. Libffi
  51. List of 3D graphics libraries
  52. List of Ajax frameworks
  53. List of charting software
  54. List of content management systems
  55. List of performance analysis tools
  56. List of unit testing frameworks
  57. List of wiki software
  58. Midpoint circle algorithm
  59. Mobile web analytics
  60. Module pattern
  61. Molecule editor
  62. Mouse tracking
  63. Naming convention (programming)
  64. Null Object pattern
  65. Open Data Protocol
  66. Opera Mini
  67. Otsu's method
  68. PhpStorm
  69. Property (programming)
  70. RTP-MIDI
  71. Reverse domain name notation
  72. Scope (computer science)
  73. Shamir's Secret Sharing
  74. Single-page application
  75. Software transactional memory
  76. String interpolation
  77. Template Attribute Language
  78. This (computer programming)
  79. Time zone
  80. Tor Mail
  81. UI data binding
  82. URL redirection
  83. Vehicle identification number
  84. Virtual world framework
  85. WSO2 Mashup Server
  86. Web development tools
  87. Web scraping
  88. WebKit
  89. Windows Runtime
  90. Yesod (Web framework)

Further reading[edit]

Free[edit]

General reference[edit]

Beginner[edit]

Intermediate[edit]

Advanced[edit]

Extension-based[edit]

Commercial[edit]

General reference[edit]

Beginner[edit]

  • McPeak, Jeremy; Winton, Paul (2015). Beginning JavaScript (5th ed.). John Wiley & Sons. ISBN 978-1-118-90374-2.
  • Chinnathambi, Kirupa (2017). JavaScript Absolute Beginner’s Guide. Pearson Education. ISBN 978-0-7897-5806-4.

Intermediate[edit]

Advanced[edit]

  • JavaScript Application Design: A Build First approach, Nicolas G. Bevacqua, Manning Publications, 2015. ISBN 9781617291951, 344 pages

References[edit]

  1. ^ "JavaScript data types and data structures". MDN Web Docs.
  2. ^ Andrew Cooke. "Introduction To Computer Languages". Retrieved 13 July 2012.
  3. ^ a b "ECMAScript Language Specification" (PDF).
  4. ^ "CSS developer guide". Mozilla Developer Network. Retrieved 2015-09-24.
  5. ^ "What is CSS?". World Wide Web Consortium. Retrieved 1 December 2010.
  6. ^ Looper, Jen (2015-09-21). "A Guide to JavaScript Engines for Idiots". Telerik Developer Network. Retrieved 2016-03-17.
  7. ^ "JScript VS JavaScript". About.com. 2015-11-25.
  8. ^ "Event driven programming (in javascript)". www.24hr.se.
  9. ^ in JavaScript The State of JavaScript: a Shift from Imperative to Declarative
  10. ^ Master the JavaScript Interview: What is Functional Programming?)
  11. ^ Tutorial on variables in JavaScript)
  12. ^ List of operators)
  13. ^ [1]
  14. ^ Classes
  15. ^ JavaScript Modules: A Beginner's Guide
  16. ^ Tutorial on regular expressions in JavaScript
  17. ^ "JavaScript HTML DOM". www.w3schools.com.
  18. ^ "jQuery: The write less, do more, JavaScript library". The jQuery Project. Retrieved 29 April 2010.
  19. ^ "Usage of JavaScript libraries for websites". Retrieved 2015-07-14.
  20. ^ "jQuery Usage Statistics". Retrieved 2013-05-17.
  21. ^ "Libscore".
  22. ^ "Netscape and Sun Announce JavaScript, the Open, Cross-platform Object Scripting Language for Enterprise Networks and the Internet". Netscape. December 4, 1995. Archived from the original on 2007-09-16. Retrieved 2013-10-31.
  23. ^ "JavaScript Meetup City", Open, The New York Times, April 4, 2012
  24. ^ Interview: Jeremy Ashkenas Talks About CoffeeScript
  25. ^ Jeremy Ashkenas — A Cup of CoffeeScript

External links[edit]

Book supporting websites
Script collections

JavaScript