Recently I saw a tweet about the relationship between values in JavaScript saying that greater or equals means nothing. The tweet reported the following results: null >= 0 // true null > 0 // false null == 0 // false My experience with the JavaScript language makes me believe that everything has a meaning, even […]

Tagged:

Sometimes I’m not satisfied with the way things are. I wish they could be a little bit different, just for a moment. I deal with this desire in my personal life by sighing and gazing through a rain-dotted window. When writing code, I take a more productive approach: I use seams. During application development, there […]

Tagged:

CC BY-SA

Update: This proposal now has two open bugs for implementation, on V8 and SpiderMonkey. https://code.google.com/p/v8/issues/detail?id=3915 https://bugzilla.mozilla.org/show_bug.cgi?id=1135708 In this article, I’ll explore the process of adding syntax to a programming language by going through the process of designing a new JavaScript exponentiation operator, which I’ve submitted to TC39 for consideration in ES7. In many programming languages, […]

Tagged:

I’m honored to have been named lead maintainer of JSHint. Following in Anton‘s footsteps, I’m excited to carry on his vision for the project and see it forward. In addition to overseeing regular maintenance of the project, my primary goal will be to prepare JSHint for ES6. Stewarding this work will be an exciting challenge, […]

Tagged:

Many readers will recognize the following program, which is an adaptation of The Little Schemer’s Y combinator implementation; written and published by Douglas Crockford in 2003 to demonstrate the commonalities found between JavaScript and Scheme. If you’re unfamiliar with recursion, fixed point combinators or the “Y combinator”, take a look at the Wikipedia article and […]

Tagged:

Why would Bocoup, a company whose charge is to “move the open web forward,” be publishing an article on something so nefarious-sounding as “information hiding”? An article titled “Free Love & Information in JavaScript” would seem much more apt for this blog. Trust me: if information hiding were an inherently immoral practice, I wouldn’t know […]

Tagged:

CC BY-SA

I’ve just returned from the future, and I have a lot to share with you. World news, sports scores, market changes, all that stuff can wait. First, we need to talk about third-party JavaScript. There’s a great deal of browser technology on the way that will affect the way you write code. Here, I’ll focus […]

Tagged:

CC BY-SA

(In a previous article, I introduced a convenient method for shipping stylesheets with your third-party JavaScript application.) When styling content in your third-party JavaScript application, you have a unique challenge to overcome: interference. The publisher may have used any number of techniques to define styles, and many of them threaten to modify the appearance of […]

Tagged:

CC BY-SA

As a practicing masochist, I have recently developed an interest in third-party JavaScript application development. I’m not alone: third-party JavaScript (or “3PJS”) applications are becoming more and more common on the web (see Disqus, Optimizely, and Google Analytics, for instance). Like any developing methodology, best practices are constantly being explored and re-defined. In this article, […]

Tagged:

CC BY-SA

I was recently re-factoring some code under Rick‘s guidance, and we implemented what I would later recognize as the Strategy pattern. JavaScript’s objects and first-class functions make this pattern extremely simple to implement, although you can optionally take some additional steps to add robustness. Background: Design Patterns A lot of my troubles with design patterns […]

Tagged:

CC BY-SA