В файле Bluebird util.js
он выполняет следующие функции:
function toFastProperties(obj) {
/*jshint -W027*/
function f() {}
f.prototype = obj;
ASSERT("%HasFastProperties", true, obj);
return f;
eval(obj);
}
По какой-то причине существует инструкция после функции возврата, и я не уверен, почему она там.
Кроме того, кажется, что это преднамеренно, поскольку автор отключил предупреждение JSHint об этом:
Недопустимый "eval" после "return". (W027)
Что именно делает эта функция? Действительно ли util.toFastProperties
делает свойства объекта "быстрее"?
Я искал в репозитории Bluebird GitHub любые комментарии в исходном коде или объяснение в их списке проблем, но я не мог найти их.