Ответ 1
Ну, на самом деле они такие же (по крайней мере, в настоящее время):
Buffer.isBuffer = function isBuffer(b) {
return util.isBuffer(b);
};
function isBuffer(arg) {
return arg instanceof Buffer;
}
exports.isBuffer = isBuffer;
... поэтому единственной возможной причиной является читаемость. Обратите внимание, что перед этой конкретной реализацией был установлен набор макросов для проверки типов, используемых при создании источника. Но это было изменено с помощью этого коммита, и это было аргументацией:
Добавление макросов к Node JS-слою увеличивает барьер для вкладов, и он разбивает программы, экспортирующие Node js файлы для пользовательские модули. (Например, несколько браунирующих преобразований, мой readable-streams polyfill, модуль util-debuglog и т.д.). Это не маленькие проблемы.
Я бы предложил проверить всю дискуссию в сообщении pull.