Как функция util.toFastProperties в Bluebird делает свойства объекта «быстрыми»?

В блюбердеutil.js файл, он имеет следующую функцию:

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

По какой-то причине после функции return есть оператор, который я не уверен, почему он там есть.

Кроме того, кажется, что это является преднамеренным, поскольку автор заставил JSHint предупредить об этом:

Недоступный 'eval' после 'return'. (W027)

Что именно делает эта функция? Есть лиutil.toFastProperties действительно сделать свойства объекта "быстрее"?

Я искал в репозитории Bluebird GitHub какие-либо комментарии в исходном коде или объяснения в их списке проблем, но я не смог их найти.

Ответы на вопрос(1)

Ваш ответ на вопрос