Prototype & Prototypal Inheritance

What pattern does this code demonstrate?
function createPerson(name) {
  const person = Object.create(createPerson.prototype);
  person.name = name;
  return person;
}

createPerson.prototype.greet = function() {
  return `Hello, I'm ${this.name}`;
};

const john = createPerson('John');
Next Question (14/22)