함수 실행시 특정 객체를 스코프로 사용하도록 만들기


(Joonseok Hu) #1

자바스크립트 질문입니다…
eval을 사용해서 어떤 표현식을 실행할건데,
이 eval이 실행될때, 특정 객체를 스코프로 사용했으면 합니다.
어떻게 해야할까요…?

let context = {
  foo: true,
  bar: {
    a: 2,
  }
// 이런식으로 여러종류의 변수들이 들어있음
};

function callTextAsFunction(x) {
  'use strict'
  try {
    /** 약간 이런 식...? 
    let { * } = context;
    */
    return eval(x); // 이 eval(x) 는 context 객체의 내용을 스코프로 사용
  } catch (e) {
    console.error(e);
  }
};

callTextAsFunction('bar.a === 42');

이런식으로 작동했으면 좋겠습니다…


(이종은(Jong Lee)) #2

왜 저렇게 하려고 하는건지 알려주실 수 있나요?