[Javascript]eval함수/문자열을 수식으로 인식하게하는 함수
eval()
eval()은 문자열을 코드로 인식하게 하는 함수다.
예를 들어
eval( '10+10' )
는 문자열 10+10가 아니라 계산한 결과 20이다.
간단한 예제로는
-------------------------------------------------------------------------------------------------
<script>
eval("x=10;y=20;document.write(x*y)");
document.write("<br>" + eval("2+2"));
document.write("<br>" + eval(x+17));
</script>
-------------------------------------------------------------------------------------------------
위의 출력의 예 :
200
4
27
나는 반복문으로 배열에 값을 밀어넣는 작업을 할 때 사용했다.
B list의 값을 A배열에 넣는 작업을 하는데,
B.DELR_CD1 → A[0],
B.DELR_CD2 → A[1],
B.DELR_CD3 → A[2]
...
이런 식으로 한칸씩 당겨서 옮겨야한다.
근데 저 DELR_CD1에서 1을 반복문의 반복인자를 이용해서 간단히 표현하고싶어서
이것저것 찾아보다가 eval 함수를 알게되었다.
예제로는,
var data = rec.getData();
var v = [];
for(var i = 1; i <9; i++){
dealers[i-1] = eval('data.DELR_CD'+i);
}
더 알아보니 eval 함수가 보안에 굉장히 취약해서 절대 쓰지말라고 한다..
더 좋은 코드가 있으면 댓글로 자유롭게 알려주셔도 된다.