On 07/09/2010, at 11:39, Maciej Stachowiak wrote:
> On Sep 6, 2010, at 6:01 PM, Brendan Eich wrote:
>> On Sep 6, 2010, at 4:01 PM, Jürg Lehni wrote:
>> 
>>> I agree it's a good name, but how about Object.isIdentical? Wouldn't that 
>>> follow existing naming conventions more closely?
>> 
>> It would following the verg-object-noun-phrase convention, but we have more 
>> than one convention.
>> 
>> Note how isNaN(x) and isFinite(x) are functions taking one parameter. 
>> Whereas Object.identical(a, b) tests whether two values *are* identical. 
>> Does "is" work still? Could we dodge the issue (as well as the implied 
>> preposition "to": isIdenticalTo) by using Jeff's "identical" suggestion?
>> 
>> A pure OOP (single receiver) naming convention as in Smalltalk might favor a 
>> isIdenticalTo: b (if it didn't use an operator symbol, as IIRC Smalltalk 
>> did: ==), but Object.identical is really a function (static method of 
>> Object, simply to avoid name pollution in any other object). 
>> Object.identical(a, b) seems better to me than any longer name involving 
>> "is" and/or "To".
>> 
>> For single-parameter tests, "is" or "has" followed by a NounPhrase is indeed 
>> the dominant naming convention. For a dyadic function to pair with 
>> Object.hashcode, Object.identical still seems best to me. The only other 
>> verb-free thought is to use the language in the ES5 spec (9.12) and call it 
>> Object.sameValue.
> 
> You could make it Object.areIdentical(a, b), but I don't think that reads 
> very well.

Or even

Object["==="](a,b)

:-))

(I like Object.eq(), it makes the code shorter. Or even Object.isEq())
-- 
Jorge.

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to