DEV Community

Discussion on: Can you hack this? #1

Collapse
 
aminnairi profile image
Amin

Using a Proxy.

"use strict";

const personNameEqualsItself = person => person.name === person.name;

const person = (() => {
  let boolean = true;

  return new Proxy({}, {get: (target, property) => property === "name" ? boolean = !boolean : undefined});
})();

console.log(personNameEqualsItself(person)); // false
console.log(personNameEqualsItself(person)); // false
console.log(personNameEqualsItself(person)); // false
Enter fullscreen mode Exit fullscreen mode
Collapse
 
rkichenama profile image
Richard Kichenama
const personX = new Proxy({}, { get (target, attr) { return /name/i.test(attr) ? Symbol('name') : target[attr]; });
Enter fullscreen mode Exit fullscreen mode