```//shorter version (taken from "You don't know js" book, Kyle Simpson)
let pobj = new Proxy( {}, {
get() {
throw "No such property/method!";
},
set() {
throw "No such property/method!";
}
});
let obj = {
a: 1,
foo() {
console.log( "a:", this.a );
}
};
// setup
obj
to fall back to
pobj
Object.setPrototypeOf( obj, pobj );
obj.a = 3;
obj.foo(); // a: 3
obj.b = 4; // Error: No such property/method!
obj.bar(); // Error: No such property/method!