Claude Pache (2013-12-11T16:32:55.000Z)
domenic at domenicdenicola.com (2013-12-18T03:37:48.716Z)
It should be ensured that the default implementation of `Array.prototype.toLocaleString` will always produce consistent localisations for both the list separator (by default `,`) and the array elements. For instance, the array `[1.2, 3]` might be transformed, under `.toLocaleString`, into `"1.2,3"` (English localisation for both the numbers and the list separator), or into `"1,2;3" (French localisation for both the numbers and the list separator), but should never be transformed into `"1,2,3"` (hybrid localisation that yields an illegible result). Therefore, if `Array.prototype.toLocaleString` is able to interpret its arguments in order to produce a correct localisation of the list separator, then it should forward these arguments when invoking `.toLocaleString` on its elements. But if it is not able to interpret them, it should not forward them. In conclusion, among the three proposed solutions, the second one should be avoided because of the issue of inconsistent localisations. The third one seems reasonable because it allows `Array.prototype.toLocaleString` to be properly specified by ECMA-402.