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가 나오게 됩니다.


실행결과

eval