Last date covered by this guide: 2012-08-25
Getting started
If you are just getting started with JavaScript, I recommend the following material:- JS Central JavaScript resources (links, news)
- A quick overview of JavaScript [get a first impression of the language]
- The Past, Present, and Future of JavaScript [mini-ebook; free, but a name and an email address are required]
Basics
Variables, values:- JavaScript values: not everything is an object
- Converting a value to string in JavaScript
- JavaScript variable scoping and its pitfalls
- JavaScript: converting any value to an object
- Equality in JavaScript: === versus ==
- When is it OK to use == in JavaScript?
- What is JavaScript’s typeof operator used for?
- Improving the JavaScript typeof operator
- The void operator in JavaScript
- JavaScript inheritance by example
- Prototypes as classes – an introduction to JavaScript inheritance
- Quick JavaScript tip: trailing commas inside an object literal
- JavaScript properties: inheritance and enumerability
- Private data for objects in JavaScript
- JavaScript’s JSON API
- JavaScript: an overview of the regular expression API
- Iterating over arrays and objects in JavaScript
- ECMAScript: ES.next versus ES 6 versus ES Harmony [includes a history of ECMAScript versions]
- Major and minor JavaScript pitfalls and ECMAScript 6
- What’s new in ECMAScript 5
- JavaScript’s strict mode: a summary
- JavaScript: Why the hatred for strict mode?
Techniques
Objects, properties, inheritance:- Exemplars: creating objects in JavaScript
- A JavaScript class pattern that starts with a function
- The Singleton pattern in JavaScript: not needed
- Uncurrying `this` in JavaScript
- Apply and arrays: three tricks
- Spreading arrays into arguments in JavaScript
- JavaScript performance: Array.prototype versus []
- ECMAScript.next: Array.from() and Array.of()
- Reflection and meta-programming in JavaScript
- Handing variables to eval
- Implementing a command line with eval in JavaScript
- Keyword parameters in JavaScript and ECMAScript.next
- Patterns for modules and namespaces in JavaScript
- Asynchronous programming and continuation-passing style in JavaScript
Advanced
Values, operators: Arrays: Objects, properties, inheritance:- The pitfalls of using objects as maps in JavaScript
- Properties in JavaScript: definition versus assignment
- Subtyping JavaScript built-ins
- A closer look at super-references in JavaScript and ECMAScript.next
- What’s up with the “constructor” property in JavaScript?
- Efficiently creating JavaScript objects: closures versus prototypes
- JavaScript’s two zeros
- Displaying numbers in JavaScript
- Integers and shift operators in JavaScript
- NaN and Infinity in JavaScript
- How numbers are encoded in JavaScript
- Working with large integers in JavaScript [algorithms for integer computation via strings]
- What are the most popular JavaScript keywords?
- What is {} + {} in JavaScript?
- The multiple roles of JavaScript objects and arrays
- Why do some JavaScript methods have such long names?
- Movie titles and lines in JavaScript
Background
History, philosophy, etc.:- JavaScript: how it all began
- Web technology stacks – from LAMP to Janos
- logo.js – JavaScript has a (semi-)official logo
- Explaining to non-programmers what JavaScript is
- JavaScript myth: JavaScript needs a standard bytecode
- Myth: JavaScript needs classes
- Currying versus partial application (with JavaScript code)
- Programming language variables: scope and extent
- ECMAScript 5 spec: LexicalEnvironment versus VariableEnvironment
- What is the difference between a shim and a polyfill?
- What JavaScript would be like with significant newlines
- SourceMap on Firefox: source debugging for languages compiled to JavaScript [update: WebKit, too]
- Combining code editing with a command line
- Notes from the Fluent JavaScript conference [lists keynotes that you can watch on YouTube]
- test262 – ensuring that JavaScript implementations comply with the ECMAScript specification
Libraries
Underscore.js [all posts on Underscore]: Other:- Lightweight JavaScript inheritance APIs
- es5-shim: use ECMAScript 5 in older browsers
- es6-shim – ECMAScript 6 functionality on ECMAScript 5
3 comments:
Good!
great roundup
appreciated with your work
Post a Comment