Opt-out schemes for ECMAScript 3.1

Tobie Langel tobie.langel at gmail.com
Wed Nov 19 15:02:10 PST 2008


I was just looking at the proposed implementation of JSON (which  
apparently is already implemented in IE 8 beta 2[1]).

This implementation actually differs pretty much from Douglas  
Crockford's original reference implementation[2].

Prototype's JSON implementation was mapped on the original one (but  
avoided extending Object.prototype for obvious reasons[3]) and method  
names were changed (from toJSONString to toJSON) to avoid conflicting  
with it should it become part of the standard...

I know it's most probably too late now to do anything about it, but  
I'm surprised that this hasn't been taken into consideration when the  
specs were designed.

Any suggestions on how we should handle this ? And how this should be  
handled in the future so innovation isn't sniffled by the fear of  
possible conflicts with a possibly upcoming native implementation ?
(FWIW, a good deal of what is making it's way into ES 3.1-- 
Function.prototype.bind, Array.prototype.forEach and friends, etc.-- 
was popularized, if not created by JS libraries.)


(disclosure: I'm part of the Prototype Core Team)

[1] http://blogs.msdn.com/ie/archive/2008/09/10/native-json-in-ie8.aspx
[2] http://json.org/json.js
[3] http://erik.eae.net/archives/2005/06/06/22.13.54/

More information about the Es-discuss mailing list