Factory Functions & Singleton Pattern

What does this factory function achieve with Object.create?
const userFunctions = {
  getName() {
    return this.name;
  },
  getRole() {
    return this.role;
  }
};

function createUser(name, role) {
  return Object.assign(Object.create(userFunctions), {
    name,
    role
  });
}
Next Question (9/32)