JavaScript 文字列やオブジェクトを評価して、文字列をスクリプトとして実行させる

最終更新日

JavaScriptでは、オブジェクトや文字列を「eval()」メソッドを使って評価することができます。「eval()」メソッドに指定できるのは、評価可能なものであれば式でも文でも構いません。非同期通信を使って読み込んだJSON形式をJavaScriptオブジェクトにする際に利用される場合もあります。ただし、この場合は、不正コードが含まれていると思わぬ不具合が発生するため、JSON.parse()を基本的には使用します。ただし、文字列を数値に変換するなどの場合は、eval()は処理速度が遅いため使用を控えたほうがよいでしょう。

<body>
<script>
    window.addEventListener("load" , function(){
        var ele = document.getElementsByTagName("output")[0];
        //変数に評価する文字列を代入
        var text = "Math.pow(2,8)+(100/10)*2";
        //eval()で評価
        var result = eval(text);
        //結果を出力
        ele.innerHTML = text +"<br>" +result;
    }, false);
</script>
    <output></output>
</body>
実行結果
実行結果