IT人材のためのキャリアライフスタイルマガジン

evalの意味や使い方とは?具体例3選と注意すべき2点を学ぼう

更新日:2024年09月08日

英語

eval()の呼び出しはコード文字列を実行し、最後の文の結果を返します。evalは簡易テンプレートエンジンとして使われることがあるように便利ですが、セキュリティやパフォーマンス低下などのリスクもあります。evalの内容とリスクを理解して正しく使用して下さい。

プログラム言語の一つであるコンパイラ型という単語は、プログラムが完成したら処理系式を変換するという意味です。この作業をコンパイルするといいます。 簡単にいうと、まず全てのコードを機械語に翻訳してから一気に実行する言語という意味です。コンパイラ型は、コンパイル作業がある分だけ手間がかかりますが、プログラムの実行は速くなります。

インタプリタ言語の意味

インタプリタ言語の意味とは、プログラム作成したらすぐに実行することができます。この場合は、プログラムを実行するごとに機械語に変換されます。コードを実行する際に1行ずつ機械語に翻訳していく言語です。プログラムをすぐに実行することができます。 1回1回機械語に翻訳すつので、コンパイラ型よりは実行速度は劣ります。

evalの基本的な利用方法

eval()は、一般的な文字列をJavaScriptのコードとして解析及び実行することができます。 eval()関数の引数は、文字列になります。 また、引数の文字列がJavaScriptのプログラムコードとして有効と評価された場合は、その値が帰ります。 eval()はグローバル関数なので、そのまま記述するだけでどこからでも利用することが可能です。下記にeval()の基本的な使い方や構文を紹介します。

evalの使い方と具体例3選

次の構文例をみてください。 eval(文字列) eval()の構文は見ての通りとても単純で、引数に任意の文字列を指定するだけです。 この文字列部分がJavaScriptコードである場合は、そのコードを解析して通常通り実行してくれます。

evalの具体例1

具体例1 としてevalで文字列をコードして実行する方法を紹介します。 表示例は以下になります。 1.var str =alert(こんにちは) 2. 3.eval(str): 上記ではalert()メソッドを使って文字列を画面に表示しています。変数「str」に文字列を 代入していますが、そのままeval()引数に指定しても問題ありません。

evalの具体例2

次の具体例ではeval()を使ったJSONの扱いを紹介します。 JSON (JavaScript Object Notation)とは、軽量のデータ交換フォーマットという意味です。通常のserverではデータは文字列になってしまいます。 このままのデータではとても扱いにくいのす。そのため、JavaScrip側でオブジェクト型に変換することが一般的なのです。 そこで、eval()を使うとJSONを解析した結果をオブジェクト型にすることができます。

次のページ:evalを使う時の注意点2つ
初回公開日:2022年11月21日

記載されている内容は2022年11月21日時点のものです。現在の情報と異なる可能性がありますので、ご了承ください。
また、記事に記載されている情報は自己責任でご活用いただき、本記事の内容に関する事項については、専門家等に相談するようにしてください。

アクセスランキング