Digging into ECMA-262, I cannot find this noted but it appears to be
implemented in V8 and SpiderMonkey.

Mozilla states this as
non-standard<https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name>so
I am guessing that its not documented in ECMA-262.

Is this defined in the specification or did I miss it? If not, +1 on its
standardization into the specification.

- Tim


On Fri, Feb 7, 2014 at 10:52 PM, Timothy Quinn <tim.c.qu...@gmail.com>wrote:

> LOL. I did not realize that was implemented already :)
>
> Thanks,
> - Tim
>
>
> On Fri, Feb 7, 2014 at 10:28 PM, Domenic Denicola <
> dome...@domenicdenicola.com> wrote:
>
>>  o.constructor.name seems good?
>>  ------------------------------
>> From: Timothy Quinn <tim.c.qu...@gmail.com>
>> Sent: 2/7/2014 22:26
>> To: es-discuss@mozilla.org
>> Subject: Efficient determination of implemented class name
>>
>>     An area of challenge in JavaScript is the ability to detect a
>> JavaScript objects implemented class name. I have done this in the past
>> with some success by parsing the objects constructor but I know that this
>> depends on the Object constructor being named and is not very efficient as
>> it requires the processing of a large string.
>>
>>  Is it possible to include into the ECMA Specification a method of Object
>> that returns the constructor function name which can be subsequently be
>> used as an efficient class name detection mechanism? Maybe
>> <Object>.getFunctionName().
>>
>>  My current current slow but steady method for detecting classes is as
>> follows:
>>
>> function objClassName(o){
>>     if(o===undefined){return "(undefined)" }
>>     if(o===null){return "(null)" }
>>     var a=/function\s+(.+)\s*\(.*\)\s*\{/.exec(o.constructor)
>>     return (a && a[1] ? a[1] : "(unknown)")
>> };
>>
>>  Thanks!
>>  Tim
>>
>>
>
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to