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)
