Claude Pache (2015-02-20T16:38:18.000Z)
> Le 20 févr. 2015 à 02:11, Kyle Simpson <getify at gmail.com> a écrit :
> 
> Just curious… for RegExp, Date, String and the others that *are* changing to plain objects… does that mean `Object.prototype.toString.call( .. )` will return "[object Object]" on them?
> 
> Sorry, I've kinda gotten lost on what the default @@toStringTag behavior is going to be here.

The definitive algorithm is here: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.prototype.tostring

For pre-ES6 builtin constructors and prototypes, there is no pre-installed @@toStringTag property, but there are checks for internal structure determining a legacy builtin tag. For example, since `RegExp.prototype` is a plain vanilla object, its builtin tag is "Object".

—Claude
d at domenic.me (2015-03-06T00:33:07.000Z)
> Le 20 févr. 2015 à 02:11, Kyle Simpson <getify at gmail.com> a écrit :
> 
> Just curious… for RegExp, Date, String and the others that *are* changing to plain objects… does that mean `Object.prototype.toString.call( .. )` will return "[object Object]" on them?
> 
> Sorry, I've kinda gotten lost on what the default @@toStringTag behavior is going to be here.

The definitive algorithm is here: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.prototype.tostring

For pre-ES6 builtin constructors and prototypes, there is no pre-installed @@toStringTag property, but there are checks for internal structure determining a legacy builtin tag. For example, since `RegExp.prototype` is a plain vanilla object, its builtin tag is "Object".