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 함수가 보안에 굉장히 취약해서 절대 쓰지말라고 한다..
더 좋은 코드가 있으면 댓글로 자유롭게 알려주셔도 된다.
'Web > Javascript' 카테고리의 다른 글
[Javascript] 형변환 / 실수를 정수로 형변환 (0) | 2021.11.15 |
---|---|
[JavaScript] 최대 공약수, 최소 공배수 구하는 알고리즘 (1) | 2021.11.15 |
[Javascript] String을 Number타입으로 바꾸기 (0) | 2021.11.15 |
[Javascript] 숫자 3자리마다 콤마(,) 찍기(정규식,toLocalString) (0) | 2021.11.10 |
[Javascript] 자바 스크립트에서 문자열을 여러 구분 기호로 분할하기(split) (0) | 2021.10.05 |
댓글