This is the time and season when people all over the world forget their differences and come together in peace and fellowship to celebrate the first anniversary of the ECMA General Assembly’s approval of The ECMAScript Programming Language Standard,...
Read more →
JavaScript has a single number type: IEEE 754 Double Precision floating point. Having a single number type is one of JavaScript's best features. Multiple number types can be a source of complexity, confusion, and error. A single type is simplifying...
Read more →
The web is made of open standards. This was a significant factor in the web's displacement of proprietary application platforms. Openness is hugely attractive, so much so that the web dominates over competitors with better technologies. The...
Read more →
As I continue the practice of the craft of programming, I am always examining my practices. Can I improve the patterns that I use so that I can make my programs clearer, stronger, better? This is particularly important when working with a language...
Read more →
One of the two really clever ideas in JavaScript is that objects are dynamic collections with differential inheritance. Differential inheritance means that when object B inherits from object A, object B does not have to contain a copy of all of...
Read more →
JavaScript's switch statement was inspired by Java's switch statement, which was inspired by C++'s switch statement, which was inspired by C's switch statement, which combined aspects of C. A. R. Hoare's case statement and Fortran's computed goto...
Read more →
JavaScript is a prototypal language, but it has a new operator that tries to make it look sort of like a classical language. That tends to confuse programmers, leading to some problematic programming patterns. You never need to use new Object() in...
Read more →
One of JavaScript's best features is the ability to augment the built-in types. If we want to add a new method to a type, we simply assign a function to the type's prototype . So, if I think that JavaScript strings should have a trim method (and...
Read more →
JavaScript, as realized in browsers, is a load-and-go programming language. Programs are delivered to the execution site as text. This is a good fit for the web, which is at its root a text delivery system. The program text is eval 'd, which...
Read more →
JavaScript's with statement was intended to provide a shorthand for writing recurring accesses to objects. So instead of writing ooo.eee.oo.ah_ah.ting.tang.walla.walla.bing = true; ooo.eee.oo.ah_ah.ting.tang.walla.walla.bang = true; You can write...
Read more →
XMLHttpRequest can operate synchronously or asynchronously. Many people prefer to use it synchronously. When used this way, the JavaScript engine is blocked until the interaction with the server is complete. Because it blocks, the flow of control...
Read more →
JavaScript is a load-and-go language. Programs are delivered to the execution site as text (not as executable or semi-compiled class files) where it is compiled and executed. JavaScript works well with the Web, which is a text delivery system,...
Read more →