Wie macht die Funktion util.toFastProperties von Bluebird die Eigenschaften eines Objekts „schnell“?

In Bluebirdsutil.js Dateihat es folgende Funktion:

function toFastProperties(obj) {
    /*jshint -W027*/
    function f() {}
    f.prototype = obj;
    ASSERT("%HasFastProperties", true, obj);
    return f;
    eval(obj);
}

Aus irgendeinem Grund gibt es nach der Rückgabefunktion eine Anweisung, von der ich nicht sicher bin, warum sie dort steht.

Es scheint auch so, als ob dies beabsichtigt ist, da der Autor die JSHint-Warnung dazu zum Schweigen gebracht hat:

Nicht erreichbares 'eval' nach 'return'. (W027)

Was genau macht diese Funktion? Tututil.toFastProperties die Eigenschaften eines Objekts wirklich "schneller" machen?

Ich habe das GitHub-Repository von Bluebird nach Kommentaren im Quellcode oder einer Erklärung in der Liste der Probleme durchsucht, aber keine gefunden.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage