JS & CSS/Javascript
자바스크립트 eval() 대신 대체 방법
Lovizu
2018. 9. 13. 16:01
# 자바스크립트의 만능키(?) 그만큼 위험부담도 큼 eval은 사용을 자제하라는게 일반적인 평론이다.
# 그럼 어떻게 eval을 대응 혹은 대신할것인지 알아보자. (출처는 구글 검색의 짬뽕..)
기존의 코드
function say(){
alert('say yo ~')
}
eval('say()');
대체 방법
function say(){
alert('say you ~');
}new Function('return say()')()
다른 방법의 사용예
기존 방법
var jsonObj = { lang : 'javascript' }
var objName = 'lang'
console.log( eval("jsonObj." + objName) )
권장방법
var jsonObj = { lang : 'javascript' }
var objName = 'lang'console.log ( jsonObj[objName] )