14.07.2013 Views

Essentials of Javascript - Cultural View

Essentials of Javascript - Cultural View

Essentials of Javascript - Cultural View

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

JavaScript 13<br />

1.5 November<br />

2000<br />

1.6 November<br />

2005<br />

ECMA-262 3 rd edition 6.0 1.0 5.5 (JScript<br />

5.5),<br />

1.5 + Array extras + Array and String generics +<br />

1.7 October 2006 1.6 + Pythonic generators + Iterators + let 2.0<br />

1.8 June 2008 1.7 + Generator expressions + Expression closures 3.0<br />

1.8.1 1.8 + Native JSON support + Minor Updates 3.5<br />

1.8.2 1.8.1 + Minor updates 3.6<br />

1.9 1.8.1 + ECMAScript 5 Compliance 4<br />

[70]<br />

E4X<br />

Related languages and features<br />

6 (JScript 5.6),<br />

7 (JScript 5.7),<br />

8 (JScript 5.8)<br />

Since the acceptance <strong>of</strong> JavaScript as a popular language, several languages and features have developed from it.<br />

Objective-J is a strict superset <strong>of</strong> JavaScript that adds traditional inheritance and Smalltalk/Objective-C style<br />

dynamic dispatch and optional pseudo-static typing to pure JavaScript.<br />

TIScript is a superset <strong>of</strong> JavaScript that adds classes, namespaces and lambda expressions.<br />

JSON, or JavaScript Object Notation, is a general-purpose data interchange format that is defined as a subset <strong>of</strong><br />

JavaScript.<br />

Mozilla browsers currently support LiveConnect, a feature that allows JavaScript and Java to intercommunicate on<br />

the web. However, Mozilla-specific support for LiveConnect is scheduled to be phased out in the future in favor <strong>of</strong><br />

passing on the LiveConnect handling via NPAPI to the Java 1.6+ plug-in (not yet supported on the Mac as <strong>of</strong> March<br />

2010). [71]<br />

JavaScript and Java<br />

A common misconception is that JavaScript is similar or closely related to Java. It is true that both have a C-like<br />

syntax, the C language being their most immediate common ancestor language. They are both object-oriented,<br />

typically sandboxed (when used inside a browser), and are widely used in client-side Web applications. In addition,<br />

JavaScript was designed with Java's syntax and standard library in mind. In particular, all Java keywords are<br />

reserved in JavaScript, JavaScript's standard library follows Java's naming conventions, and JavaScript's Math and<br />

Date objects are based on classes from Java 1.0. [17]<br />

But the similarities end there. Java has static typing; JavaScript's typing is dynamic (meaning a variable can hold an<br />

object <strong>of</strong> any type and cannot be restricted). Java is loaded from compiled bytecode; JavaScript is loaded as<br />

human-readable source code. Java's objects are class-based; JavaScript's are prototype-based. JavaScript also has<br />

many functional features based on the Self language.<br />

1.5<br />

6.0,<br />

7.0,<br />

8.0,<br />

9.0,<br />

10.0<br />

3.0,<br />

3.1,<br />

3.2,<br />

4.0<br />

1.0

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!