Problem Statement
What does Object.create(proto) do that {} does not?
Explanation
Object.create(proto) creates a new object with its internal [[Prototype]] set to proto.
The object starts with no own properties unless you pass a second argument with property descriptors.
Code Solution
SolutionRead Only
const base = { greet(){ return 'hi'; } };
const o = Object.create(base);
console.log(Object.getPrototypeOf(o) === base); // true
console.log(o.greet()); // 'hi'