Wie funktioniert Bluebird ' s util.toFastProperties Funktion, dass ein Objekt die Eigenschaften "schnell"?

In Bluebird ist util.js - Datei, hat es folgende Funktion:

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

Für einige Grund, gibt es eine Anweisung nach der Rückkehr-Funktion, die ich bin mir nicht sicher, warum es ist da.

Als gut, es scheint, dass es ist gewollt, wie der Autor zum schweigen gebracht hatten, die JSHint Warnung dazu:

Unreachable 'eval' nach 'return'. (W027)

Was genau macht diese Funktion? Tut util.toFastProperties wirklich, dass ein Objekt die Eigenschaften "schneller"?

Ich gesucht habe durch Bluebird ' s GitHub-repository für alle Kommentare in den source-code oder eine Erklärung in Ihre Liste der Fragen, aber ich konnte Sie nicht finden.

Schreibe einen Kommentar