속성 접근자 사용

 

var obj = { a: 20, b: 30 };
var propname = getPropName();  // "a" 또는 "b"를 반환
var result = obj[ propname ];  //  obj[ "a" ]는 obj.a와 동일함

 

 

 

eval()을 사용하면 안되는 이유

eval()은 인자로 받은 코드를 caller의 권한으로 수행하는 위험한 함수다.

악의적인 영향을 받았을 수 있는 문자열을 eval()로 실행한다면, 당신의 웹페이지나 확장 프로그램의 권한으로 사용자의 기기에서 악의적인 코드를 수행하는 결과를 초래할 수 있다.

또한, 제3자 코드가 eval()이 호출된 위치의 스코프를 볼 수 있으며, 이를 이용해 비슷한 함수인 Function으로는 실현할 수 없는 공격이 가능하다.

 

 

 

 

참고 사이트

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/eval

https://koonsland.tistory.com/146

 

+ Recent posts