Estoy escribiendo un proyecto de piratería de juegos cortos. Como tal, necesito una forma de recuperar una clase que está envuelta en una función anónima sin referencias globales. El diseño de clase simplificado se ve así:
class n { constructor() { this.test = localStorage.getItem("test"); } } Mi enfoque es representar la función localStorage.getItem llamada dentro del constructor. El problema aparece cuando accedo a la persona que llama: devuelve nulo. Mi código es el siguiente:
class n { constructor() { this.test = localStorage.getItem("test"); } } localStorage.getItem = new Proxy(localStorage.getItem, { apply: function(target, that, args) { console.log(arguments.callee.caller); } }) const l = new n();