JavaScript eval en contexto sin usar esta palabra clave
Estoy tratando de ejecutar eval dentro de un contexto particular. He encontrado la respuestaaquí útil. Sin embargo, obtengo el siguiente comportamiento en Chrome Versión 53.0.2785.143 m. No probé otros navegadores. El código que estoy usando es el siguiente:
function evalInContext(js, context) {
return function() { return eval(js); }.call(context);
}
console.log(evalInContext('x==3', { x : 3})) // Throws
console.log(evalInContext('this.x==3', { x : 3})) // OK
Sin embargo, esperaba la primera llamada aevalInContext
no tirar Alguna idea de por qué esto esta pasando?