JavaScript: The Good Parts: The Good Parts

JavaScript: The Good Parts: The Good Parts

by Douglas Crockford

Paperback

$29.99
View All Available Formats & Editions
Members save with free shipping everyday! 
See details

Overview

Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative book scrapes away these bad features to reveal a subset of JavaScript that's more reliable, readable, and maintainable than the language as a whole—a subset you can use to create truly extensible and efficient code.

Considered the JavaScript expert by many people in the development community, author Douglas Crockford identifies the abundance of good ideas that make JavaScript an outstanding object-oriented programming language-ideas such as functions, loose typing, dynamic objects, and an expressive object literal notation. Unfortunately, these good ideas are mixed in with bad and downright awful ideas, like a programming model based on global variables.

When Java applets failed, JavaScript became the language of the Web by default, making its popularity almost completely independent of its qualities as a programming language. In JavaScript: The Good Parts, Crockford finally digs through the steaming pile of good intentions and blunders to give you a detailed look at all the genuinely elegant parts of JavaScript, including:

  • Syntax
  • Objects
  • Functions
  • Inheritance
  • Arrays
  • Regular expressions
  • Methods
  • Style
  • Beautiful features

The real beauty? As you move ahead with the subset of JavaScript that this book presents, you'll also sidestep the need to unlearn all the bad parts. Of course, if you want to find out more about the bad parts and how to use them badly, simply consult any other JavaScript book.

With JavaScript: The Good Parts, you'll discover a beautiful, elegant, lightweight and highly expressive language that lets you create effective code, whether you're managing object libraries or just trying to get Ajax to run fast. If you develop sites or applications for the Web, this book is an absolute must.

Product Details

ISBN-13: 9780596517748
Publisher: O'Reilly Media, Incorporated
Publication date: 05/15/2008
Pages: 172
Sales rank: 485,811
Product dimensions: 7.00(w) x 9.08(h) x 0.44(d)

About the Author

Douglas Crockford is a Senior JavaScript Architect at Yahoo!, well known for introducing and maintaining the JSON (JavaScript Object Notation) format. He's a regular speaker at conferences on advanced JavaScript topics, and serves on the ECMAScript committee.

Table of Contents

Dedication;
Preface;
Conventions Used in This Book;
Using Code Examples;
Safari® Books Online;
How to Contact Us;
Acknowledgments;
Chapter 1: Good Parts;
1.1 Why JavaScript?;
1.2 Analyzing JavaScript;
1.3 A Simple Testing Ground;
Chapter 2: Grammar;
2.1 Whitespace;
2.2 Names;
2.3 Numbers;
2.4 Strings;
2.5 Statements;
2.6 Expressions;
2.7 Literals;
2.8 Functions;
Chapter 3: Objects;
3.1 Object Literals;
3.2 Retrieval;
3.3 Update;
3.4 Reference;
3.5 Prototype;
3.6 Reflection;
3.7 Enumeration;
3.8 Delete;
3.9 Global Abatement;
Chapter 4: Functions;
4.1 Function Objects;
4.2 Function Literal;
4.3 Invocation;
4.4 Arguments;
4.5 Return;
4.6 Exceptions;
4.7 Augmenting Types;
4.8 Recursion;
4.9 Scope;
4.10 Closure;
4.11 Callbacks;
4.12 Module;
4.13 Cascade;
4.14 Curry;
4.15 Memoization;
Chapter 5: Inheritance;
5.1 Pseudoclassical;
5.2 Object Specifiers;
5.3 Prototypal;
5.4 Functional;
5.5 Parts;
Chapter 6: Arrays;
6.1 Array Literals;
6.2 Length;
6.3 Delete;
6.4 Enumeration;
6.5 Confusion;
6.6 Methods;
6.7 Dimensions;
Chapter 7: Regular Expressions;
7.1 An Example;
7.2 Construction;
7.3 Elements;
Chapter 8: Methods;
Chapter 9: Style;
Chapter 10: Beautiful Features;
Awful Parts;
Global Variables;
Scope;
Semicolon Insertion;
Reserved Words;
Unicode;
typeof;
parseInt;
+;
Floating Point;
NaN;
Phony Arrays;
Falsy Values;
hasOwnProperty;
Object;
Bad Parts;
==;
with Statement;
eval;
continue Statement;
switch Fall Through;
Block-less Statements;
++ −−;
Bitwise Operators;
The function Statement Versus the function Expression;
Typed Wrappers;
new;
void;
JSLint;
Undefined Variables and Functions;
Members;
Options;
Semicolon;
Line Breaking;
Comma;
Required Blocks;
Forbidden Blocks;
Expression Statements;
for in Statement;
switch Statement;
var Statement;
with Statement;
=;
== and !=;
Labels;
Unreachable Code;
Confusing Pluses and Minuses;
++ and −−;
Bitwise Operators;
eval Is Evil;
void;
Regular Expressions;
Constructors and new;
Not Looked For;
HTML;
JSON;
Report;
Syntax Diagrams;
JSON;
JSON Syntax;
Using JSON Securely;
A JSON Parser;
Colophon;

Customer Reviews