Re: String(symbol)

2014-09-11 Thread Claude Pache
Le 26 août 2014 à 17:39, Jeff Walden a écrit : > On 08/12/2014 11:07 PM, Allen Wirfs-Brock wrote: >> sounds good to me, I'll update the spec. accordingly >> >> On Aug 12, 2014, at 7:39 PM, Erik Arvidsson wrote: >>> I was suggesting that String(symbol) should not throw. >>> >>> This can be spec

Re: String(symbol)

2014-08-26 Thread Brendan Eich
Jeff Walden wrote: It's not the most correct way to do it. |a + ""| performs ToPrimitive(a, hint = None), whereas ToString(a) performed ToPrimitive(a, hint = String). The former consults valueOf, then toString, the latter the reverse. Argh, I had forgotten about the no-hint case there. It s

Re: String(symbol)

2014-08-26 Thread Brendan Eich
Brendan Eich wrote: Use +'' if you want ToString in the language, I say. asm.js points the way on other explicit conversion forms: ToString(x) is x+'' ToNumber(x) is +x ToInt32(x) is ~~x ToBoolean(x) is !!x /be ___ es-discuss mailing list es-discuss

Re: String(symbol)

2014-08-26 Thread André Bargull
Claude Pache wrote: >/ Personally, I use the following expression in order to coerce a variable to a string: />/ />/ var obj = this + '' />/ />/ and its in-place variant: />/ />/ x += '' />/ />/ I think it'll continue to work in ES6. / Agreed, this is the correct-and-most-con

Re: String(symbol)

2014-08-26 Thread Jeff Walden
On 08/26/2014 09:14 AM, Brendan Eich wrote: > Claude Pache wrote: >> Personally, I use the following expression in order to coerce a variable to >> a string: >> >> var obj = this + '' >> >> and its in-place variant: >> >> x += '' >> >> I think it'll continue to work in ES6. > > Agreed, th

RE: String(symbol)

2014-08-26 Thread Domenic Denicola
: Erik Arvidsson; es-discuss@mozilla.org Subject: Re: String(symbol) Claude Pache wrote: > Personally, I use the following expression in order to coerce a variable to a > string: > > var obj = this + '' > > and its in-place variant: > > x += ''

Re: String(symbol)

2014-08-26 Thread Brendan Eich
Claude Pache wrote: Personally, I use the following expression in order to coerce a variable to a string: var obj = this + '' and its in-place variant: x += '' I think it'll continue to work in ES6. Agreed, this is the correct-and-most-concise way to do it. It should throw

Re: String(symbol)

2014-08-26 Thread Claude Pache
Le 26 août 2014 à 17:39, Jeff Walden a écrit : > On 08/12/2014 11:07 PM, Allen Wirfs-Brock wrote: > > With this change, as far as I can tell there's no concise operation directly > corresponding to the ToString abstract operation. The best that seems > possible is some horribly indirect oper

Re: String(symbol)

2014-08-26 Thread Jeff Walden
On 08/26/2014 08:48 AM, Domenic Denicola wrote: > Why would it be useful, from a programmer's perspective, to expose ToString > directly? People will always want to polyfill, or prototype in advance of proposal for standardization. No matter how internal the operation might be, it's heavily us

RE: String(symbol)

2014-08-26 Thread Domenic Denicola
mbols. From: es-discuss on behalf of Jeff Walden Sent: Tuesday, August 26, 2014 11:39 To: Allen Wirfs-Brock; Erik Arvidsson Cc: es-discuss@mozilla.org Subject: Re: String(symbol) On 08/12/2014 11:07 PM, Allen Wirfs-Brock wrote: > sounds good to me, I'll update the spec

Re: String(symbol)

2014-08-26 Thread Jeff Walden
On 08/12/2014 11:07 PM, Allen Wirfs-Brock wrote: > sounds good to me, I'll update the spec. accordingly > > On Aug 12, 2014, at 7:39 PM, Erik Arvidsson wrote: >> I was suggesting that String(symbol) should not throw. >> >> This can be spec'ed as String( value ) checking the Type of the value and

Re: String(symbol)

2014-08-13 Thread Allen Wirfs-Brock
On Aug 13, 2014, at 8:45 AM, Nathan Wall wrote: > Out of mere curiosity, why is it desired that `symbol + ''` throw? Minimize the chance that somebody might code: var newName = somePropertyKey+"_stuff"; not realizing that somePropertyKey might be a Symbol. We don't want to silently crete a s

Re: String(symbol)

2014-08-13 Thread Rick Waldron
On Wed, Aug 13, 2014 at 11:45 AM, Nathan Wall wrote: > Out of mere curiosity, why is it desired that `symbol + ''` throw? > > Relevant discussion: https://github.com/rwaldron/tc39-notes/blob/c9742738ec3577d5158e8b8bfe3a46be596fef0b/es6/2013-03/mar-14.md#46-symbols Rick > Nathan > > > > On Tu

Re: String(symbol)

2014-08-13 Thread Nathan Wall
Out of mere curiosity, why is it desired that `symbol + ''` throw? Nathan On Tue, Aug 12, 2014 at 10:39 PM, Erik Arvidsson wrote: > symbol + '' must continue to throw. > > I was suggesting that String(symbol) should not throw. > > This can be spec'ed as String( value ) checking the Type of th

Re: String(symbol)

2014-08-12 Thread Allen Wirfs-Brock
sounds good to me, I'll update the spec. accordingly On Aug 12, 2014, at 7:39 PM, Erik Arvidsson wrote: > symbol + '' must continue to throw. > > I was suggesting that String(symbol) should not throw. > > This can be spec'ed as String( value ) checking the Type of the value and > special case

Re: String(symbol)

2014-08-12 Thread Erik Arvidsson
symbol + '' must continue to throw. I was suggesting that String(symbol) should not throw. This can be spec'ed as String( value ) checking the Type of the value and special case it in case of the value being a symbol. On Tue, Aug 12, 2014 at 5:17 PM, Claude Pache wrote: > > Le 12 août 2014 à

Re: String(symbol)

2014-08-12 Thread Claude Pache
Le 12 août 2014 à 22:35, Erik Arvidsson a écrit : > Right now String(symbol) throws because it uses ToString which is spec'ed to > throw. > > I'm suggesting that we special case String(value) to do a type check for > Symbol and return the same string as Symbol.prototype.toString.call(value)