The algorithm at https://tc39.es/ecma402/#sup-array.prototype.tolocalestring requires looking up a "toLocaleString" property on each non-undefined non-null element of the receiver array, invoking it as a method, and (absent an exception) passing the result through ToString. However, JSC appears to bypass ToString for undefined or null output from the toLocaleString method. The following expression should evaluate to "undefined", but instead evaluates to "": [{toLocaleString(){}}].toLocaleString() The following expression should evaluate to "null", but instead evaluates to "": [{toLocaleString(){return null}}].toLocaleString() Also reported to test262 for coverage: https://github.com/tc39/test262/issues/3298
<rdar://problem/85310544>
Will do it in bug 232723 :D *** This bug has been marked as a duplicate of bug 232723 ***