<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: EcmaScript Edition 5, formerly known as 3.1: Getting a new JavaScript</title>
	<atom:link href="http://ajaxian.com/archives/ecmascript-edition-5-formerly-known-as-31-getting-a-new-javascript/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/ecmascript-edition-5-formerly-known-as-31-getting-a-new-javascript</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Thu, 17 May 2012 07:43:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: andysky</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-formerly-known-as-31-getting-a-new-javascript/comment-page-1#comment-272955</link>
		<dc:creator>andysky</dc:creator>
		<pubDate>Sat, 18 Apr 2009 03:27:53 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6569#comment-272955</guid>
		<description>@mcaudill:
Ah, I see now that YOU are the author of the article!

1000 Thanks! :)

Now what can we do to make your article show up in Ajaxian&#039;s RSS feed / be mentioned in an Ajaxian article?

Maybe you can tweet to:
http://twitter.com/dalmaer
:)</description>
		<content:encoded><![CDATA[<p>@mcaudill:<br />
Ah, I see now that YOU are the author of the article!</p>
<p>1000 Thanks! :)</p>
<p>Now what can we do to make your article show up in Ajaxian&#8217;s RSS feed / be mentioned in an Ajaxian article?</p>
<p>Maybe you can tweet to:<br />
<a href="http://twitter.com/dalmaer" rel="nofollow">http://twitter.com/dalmaer</a><br />
:)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: andysky</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-formerly-known-as-31-getting-a-new-javascript/comment-page-1#comment-272954</link>
		<dc:creator>andysky</dc:creator>
		<pubDate>Sat, 18 Apr 2009 03:19:08 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6569#comment-272954</guid>
		<description>@mcaudill: now that IS handy! thank you. :)</description>
		<content:encoded><![CDATA[<p>@mcaudill: now that IS handy! thank you. :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mcaudill</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-formerly-known-as-31-getting-a-new-javascript/comment-page-1#comment-272825</link>
		<dc:creator>mcaudill</dc:creator>
		<pubDate>Tue, 14 Apr 2009 19:58:24 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6569#comment-272825</guid>
		<description>halo: andysky: Detailed post on the updates in ECMAScript 5:
http://markcaudill.com/index.php/2009/04/javascript-new-features-ecma5/

Discuss on HN:
http://news.ycombinator.com/item?id=562045</description>
		<content:encoded><![CDATA[<p>halo: andysky: Detailed post on the updates in ECMAScript 5:<br />
<a href="http://markcaudill.com/index.php/2009/04/javascript-new-features-ecma5/" rel="nofollow">http://markcaudill.com/index.php/2009/04/javascript-new-features-ecma5/</a></p>
<p>Discuss on HN:<br />
<a href="http://news.ycombinator.com/item?id=562045" rel="nofollow">http://news.ycombinator.com/item?id=562045</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: WebReflection</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-formerly-known-as-31-getting-a-new-javascript/comment-page-1#comment-272791</link>
		<dc:creator>WebReflection</dc:creator>
		<pubDate>Tue, 14 Apr 2009 08:26:12 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6569#comment-272791</guid>
		<description>berend, getters/setters are useful for many reasons. outerHTML is an example, the target in IE Event.prototype is another one, etc etc.
About size, text(str) against text=str is one char, .text against .text() to retrieve the value are two chars. If a browser would like to implement something native in another one you have to choose another name for the callback which will simply emulate a getter/setter behavior. So, rather than add a check like if(arguments.length) for each callback with a set/get behavior, plus a different name to avoid conflicts with the native method, you can simply implement a background callback capable to make code clear and more natural to both write and read. Moreover, thanks to getters/setters, IE8 could implement standard DOM behaviors and vice-versa, other browsers could implement IE behavior to make code faster for IE and fast enough for every other (something I am working on but something that will require time) ;-)</description>
		<content:encoded><![CDATA[<p>berend, getters/setters are useful for many reasons. outerHTML is an example, the target in IE Event.prototype is another one, etc etc.<br />
About size, text(str) against text=str is one char, .text against .text() to retrieve the value are two chars. If a browser would like to implement something native in another one you have to choose another name for the callback which will simply emulate a getter/setter behavior. So, rather than add a check like if(arguments.length) for each callback with a set/get behavior, plus a different name to avoid conflicts with the native method, you can simply implement a background callback capable to make code clear and more natural to both write and read. Moreover, thanks to getters/setters, IE8 could implement standard DOM behaviors and vice-versa, other browsers could implement IE behavior to make code faster for IE and fast enough for every other (something I am working on but something that will require time) ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: berend</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-formerly-known-as-31-getting-a-new-javascript/comment-page-1#comment-272789</link>
		<dc:creator>berend</dc:creator>
		<pubDate>Tue, 14 Apr 2009 04:48:28 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6569#comment-272789</guid>
		<description>Halo, outerHTML is in the DOM right? I don&#039;t think with this you can override DOM objects, could you?</description>
		<content:encoded><![CDATA[<p>Halo, outerHTML is in the DOM right? I don&#8217;t think with this you can override DOM objects, could you?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Halo</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-formerly-known-as-31-getting-a-new-javascript/comment-page-1#comment-272785</link>
		<dc:creator>Halo</dc:creator>
		<pubDate>Mon, 13 Apr 2009 21:24:23 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6569#comment-272785</guid>
		<description>Getters/setters are useful as it provides a key piece in the puzzle of working around features browsers don&#039;t implement or implement incorrectly.

As a convoluted example, let&#039;s say you want the MS-only outerHTML attribute in FireFox. It works exactly the same as InnerHTML, but includes the container tags as well. Before, there was nothing you could do to implement this so it worked the same as in IE, now you can.

Or what about CSS3 style attributes. Let&#039;s say you want to access a CSS feature, but the browser doesn&#039;t support it. You can simulate it, so in JavaScript it works exactly the same as if it was native, and then when it&#039;s implemented natively in all supported browsers simply drop your old code. This allows you to use future features today.

From that point of view, I think it&#039;s a huge step forward.</description>
		<content:encoded><![CDATA[<p>Getters/setters are useful as it provides a key piece in the puzzle of working around features browsers don&#8217;t implement or implement incorrectly.</p>
<p>As a convoluted example, let&#8217;s say you want the MS-only outerHTML attribute in FireFox. It works exactly the same as InnerHTML, but includes the container tags as well. Before, there was nothing you could do to implement this so it worked the same as in IE, now you can.</p>
<p>Or what about CSS3 style attributes. Let&#8217;s say you want to access a CSS feature, but the browser doesn&#8217;t support it. You can simulate it, so in JavaScript it works exactly the same as if it was native, and then when it&#8217;s implemented natively in all supported browsers simply drop your old code. This allows you to use future features today.</p>
<p>From that point of view, I think it&#8217;s a huge step forward.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eyelidlessness</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-formerly-known-as-31-getting-a-new-javascript/comment-page-1#comment-272784</link>
		<dc:creator>eyelidlessness</dc:creator>
		<pubDate>Mon, 13 Apr 2009 19:25:03 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6569#comment-272784</guid>
		<description>&lt;blockquote&gt;Having to write less code is quite a benefit IMO. If I have a property on an object that updated the textual content, it would make much more sense to define it as .text and not .text(str).&lt;/blockquote&gt;

I don&#039;t understand. It&#039;s a difference of one character. &lt;code&gt;.text=str&lt;/code&gt; vs &lt;code&gt;.text(str)&lt;/code&gt;. The latter is substantially more clear, and comes at the cost of a single character.

&lt;blockquote&gt; The same argument could be applied to any function you call on a 3rd party library.&lt;/blockquote&gt;

Not true. A method call does not obscure itself as a property assignment. You may still have to dig into the internals to find out why something went wrong, or simply why something happened, but you are &lt;strong&gt;not&lt;/strong&gt; going to be mislead around the source of the method call that is syntactically a property assignment.</description>
		<content:encoded><![CDATA[<blockquote><p>Having to write less code is quite a benefit IMO. If I have a property on an object that updated the textual content, it would make much more sense to define it as .text and not .text(str).</p></blockquote>
<p>I don&#8217;t understand. It&#8217;s a difference of one character. <code>.text=str</code> vs <code>.text(str)</code>. The latter is substantially more clear, and comes at the cost of a single character.</p>
<blockquote><p> The same argument could be applied to any function you call on a 3rd party library.</p></blockquote>
<p>Not true. A method call does not obscure itself as a property assignment. You may still have to dig into the internals to find out why something went wrong, or simply why something happened, but you are <strong>not</strong> going to be mislead around the source of the method call that is syntactically a property assignment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TNO</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-formerly-known-as-31-getting-a-new-javascript/comment-page-1#comment-272780</link>
		<dc:creator>TNO</dc:creator>
		<pubDate>Mon, 13 Apr 2009 18:14:11 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6569#comment-272780</guid>
		<description>@eyelidlessness:
&lt;em&gt;
They’re just syntactic sugar, and don’t really provide any benefit
&lt;/em&gt;
Having to write less code is quite a benefit IMO. If I have a property on an object that updated the textual content, it would make much more sense to define it as &lt;b&gt;.text&lt;/b&gt; and not &lt;b&gt;.text(str)&lt;/b&gt;. 
.
&lt;em&gt;
You end up having to do a lot of digging into the library, at which point, you really might as well be maintaining your own library, right?
&lt;/em&gt;
The same argument could be applied to any function you call on a 3rd party library. Not every library you come across is going to follow the Law of Demeter, but that&#039;s the name of the game on any large code base</description>
		<content:encoded><![CDATA[<p>@eyelidlessness:<br />
<em><br />
They’re just syntactic sugar, and don’t really provide any benefit<br />
</em><br />
Having to write less code is quite a benefit IMO. If I have a property on an object that updated the textual content, it would make much more sense to define it as <b>.text</b> and not <b>.text(str)</b>.<br />
.<br />
<em><br />
You end up having to do a lot of digging into the library, at which point, you really might as well be maintaining your own library, right?<br />
</em><br />
The same argument could be applied to any function you call on a 3rd party library. Not every library you come across is going to follow the Law of Demeter, but that&#8217;s the name of the game on any large code base</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eyelidlessness</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-formerly-known-as-31-getting-a-new-javascript/comment-page-1#comment-272779</link>
		<dc:creator>eyelidlessness</dc:creator>
		<pubDate>Mon, 13 Apr 2009 18:12:10 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6569#comment-272779</guid>
		<description>@berend, I think you&#039;ll see from Halo&#039;s comment that there are actually many features in ES5 (9_9, I am tempted to keep calling it ES3.1 out of spite at the stupid name change) that can&#039;t be accomplished with syntactic sugar in ES3. Several of those are features many of us have wanted for quite some time. If you don&#039;t want them, don&#039;t use them.</description>
		<content:encoded><![CDATA[<p>@berend, I think you&#8217;ll see from Halo&#8217;s comment that there are actually many features in ES5 (9_9, I am tempted to keep calling it ES3.1 out of spite at the stupid name change) that can&#8217;t be accomplished with syntactic sugar in ES3. Several of those are features many of us have wanted for quite some time. If you don&#8217;t want them, don&#8217;t use them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: berend</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-formerly-known-as-31-getting-a-new-javascript/comment-page-1#comment-272778</link>
		<dc:creator>berend</dc:creator>
		<pubDate>Mon, 13 Apr 2009 17:59:58 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6569#comment-272778</guid>
		<description>Why do we need to change what is obviously working pretty well?</description>
		<content:encoded><![CDATA[<p>Why do we need to change what is obviously working pretty well?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eyelidlessness</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-formerly-known-as-31-getting-a-new-javascript/comment-page-1#comment-272777</link>
		<dc:creator>eyelidlessness</dc:creator>
		<pubDate>Mon, 13 Apr 2009 17:53:30 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6569#comment-272777</guid>
		<description>@Halo: thanks for a more complete view of what&#039;s to come in ECMAScript. There are definitely some useful features there. But I have to call BS on the hype about getters and setters. They&#039;re just syntactic sugar, and don&#039;t really provide any benefit, and provide a lot of potential downsides for anyone who works with other people&#039;s code.

Of course, the first thing I thought of when I heard about getters and setters was, &quot;gee, I could do all kinds of background work upon setting a value, it would really simplify my non-library code!&quot;

But then it occurred to me that working against other people&#039;s libraries could be a real mess. You get or set a value, and who knows what&#039;s happening in the background. You end up having to do a lot of digging into the library, at which point, you really might as well be maintaining your own library, right?</description>
		<content:encoded><![CDATA[<p>@Halo: thanks for a more complete view of what&#8217;s to come in ECMAScript. There are definitely some useful features there. But I have to call BS on the hype about getters and setters. They&#8217;re just syntactic sugar, and don&#8217;t really provide any benefit, and provide a lot of potential downsides for anyone who works with other people&#8217;s code.</p>
<p>Of course, the first thing I thought of when I heard about getters and setters was, &#8220;gee, I could do all kinds of background work upon setting a value, it would really simplify my non-library code!&#8221;</p>
<p>But then it occurred to me that working against other people&#8217;s libraries could be a real mess. You get or set a value, and who knows what&#8217;s happening in the background. You end up having to do a lot of digging into the library, at which point, you really might as well be maintaining your own library, right?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: andysky</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-formerly-known-as-31-getting-a-new-javascript/comment-page-1#comment-272771</link>
		<dc:creator>andysky</dc:creator>
		<pubDate>Mon, 13 Apr 2009 15:43:07 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6569#comment-272771</guid>
		<description>@Halo: Thank you for the detailed news on EcmaScript 5. :)</description>
		<content:encoded><![CDATA[<p>@Halo: Thank you for the detailed news on EcmaScript 5. :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: andysky</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-formerly-known-as-31-getting-a-new-javascript/comment-page-1#comment-272770</link>
		<dc:creator>andysky</dc:creator>
		<pubDate>Mon, 13 Apr 2009 15:37:29 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6569#comment-272770</guid>
		<description>An extensive coverage of the new features in EcmaScript 5 is what I&#039;d like (and expect) from Ajaxian. Not just this (pretty useless) piece of news.</description>
		<content:encoded><![CDATA[<p>An extensive coverage of the new features in EcmaScript 5 is what I&#8217;d like (and expect) from Ajaxian. Not just this (pretty useless) piece of news.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Halo</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-formerly-known-as-31-getting-a-new-javascript/comment-page-1#comment-272769</link>
		<dc:creator>Halo</dc:creator>
		<pubDate>Mon, 13 Apr 2009 14:51:02 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6569#comment-272769</guid>
		<description>There&#039;s quite a few major and much-needed changes here, so I find it a shame you&#039;ve barely scratched the surface and instead focused on the negative and said to &quot;step it up a notch&quot; than cover the multiple improvements and changes in the spec that are a huge step in the right direction. I guess people prefer to moan.

Anyway, let me do what you didn&#039;t do and actually cover the major changes: new internal object properties and ways of accessing them (via Object.defineProperty, Object.defineProperties, Object.getOwnPropertyNames); being able to set properties for getters/setters (i.e. call functions when you get/set objects); properties to be able to set how objects can be changed and functions to access and check them(frozen, seal and preventExtensions); being able to set whether an object is enumerable (i.e. whether or not it appears in for... in loop); addition of array prototypes map, reduce, reduceRight, filter, some, and forEach; a real Object.create function instead of having to do it by hand (finally!); and native JSON.</description>
		<content:encoded><![CDATA[<p>There&#8217;s quite a few major and much-needed changes here, so I find it a shame you&#8217;ve barely scratched the surface and instead focused on the negative and said to &#8220;step it up a notch&#8221; than cover the multiple improvements and changes in the spec that are a huge step in the right direction. I guess people prefer to moan.</p>
<p>Anyway, let me do what you didn&#8217;t do and actually cover the major changes: new internal object properties and ways of accessing them (via Object.defineProperty, Object.defineProperties, Object.getOwnPropertyNames); being able to set properties for getters/setters (i.e. call functions when you get/set objects); properties to be able to set how objects can be changed and functions to access and check them(frozen, seal and preventExtensions); being able to set whether an object is enumerable (i.e. whether or not it appears in for&#8230; in loop); addition of array prototypes map, reduce, reduceRight, filter, some, and forEach; a real Object.create function instead of having to do it by hand (finally!); and native JSON.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pnewhook</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-formerly-known-as-31-getting-a-new-javascript/comment-page-1#comment-272767</link>
		<dc:creator>pnewhook</dc:creator>
		<pubDate>Mon, 13 Apr 2009 14:33:24 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6569#comment-272767</guid>
		<description>Well I&#039;ll be. That&#039;s my comment from the JScript Blog. Goes to show you that you let you voice be heard and someone will listen.</description>
		<content:encoded><![CDATA[<p>Well I&#8217;ll be. That&#8217;s my comment from the JScript Blog. Goes to show you that you let you voice be heard and someone will listen.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: oopstudios</title>
		<link>http://ajaxian.com/archives/ecmascript-edition-5-formerly-known-as-31-getting-a-new-javascript/comment-page-1#comment-272761</link>
		<dc:creator>oopstudios</dc:creator>
		<pubDate>Mon, 13 Apr 2009 13:58:48 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6569#comment-272761</guid>
		<description>I love it when new specs come out! Maybe there should be a spec governing roving updates to browsers? That would be LOVELY!</description>
		<content:encoded><![CDATA[<p>I love it when new specs come out! Maybe there should be a spec governing roving updates to browsers? That would be LOVELY!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

