Coding/JavaScript
[JavaScript] eval()
junedev
2019. 9. 20. 15:42
eval()
자바스크립트에서 eval()은 xml을 파싱할때도 주로 사용하는 메소드로,
'문자를 코드로 인식하게 하는 함수'입니다.
이를 이용하면 불편한 조건식/연산도 편하게 출력할 수 있습니다. 예제를 볼까요
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>eval</title>
<script>
var str_eval = '2+2';
document.write('<p>' + str_eval + '<p>');
document.write('<p>' + eval(str_eval) + '<p>');
</script>
</head>
<body>
</body>
</html>
기본적으로 str_eval의 경우 '2+2'라는 string으로 저장되므로,
첫번째 줄에는 '2+2'가 그대로 출력되어야 하는게 정상입니다.
하지만 eval을 씌워서 출력해준다면, 2+2를 문자열이 아닌 코드로 인식하기 때문에 2+2가 계산된 값인 4가 나오게 됩니다.