I was reading JavaScriptCore' s source code and I stumbled upon this after a short while. The code sort of makes sense, but what happens exactly when '@' is used ?
[...]
if (@isArray(currentElement)) {
constructor = currentElement.constructor;
[...]
if (@isArrayConstructor(constructor) && @Array !== constructor)
constructor = @undefined;
else if (@isObject(constructor)) {
constructor = constructor.@speciesSymbol;
if (constructor === null)
constructor = @Array;
}
}
[...]
I checked this and this but they didn't help much ('@' is not a reserved character in Javascript)