eval()

javascript

概要

eval()について、詳しく調べてみます。

eval()は1つの引数を渡します。
引数として文字列を渡し、それ以外の場合はそのままの値を返します。

引数が解釈できない場合はシンタックスエラー例外になります。
解釈できた場合は、引数を評価します。

実行例1

eval()を呼び出すとき、呼び出したコードの環境変数が使われます。

実際にeval()で呼び出されたコードの変数が使われるかどうか、
例えば、次のようなコードを書いてみます。

1
2
3
var x = "123";
 
console.log(eval("x"));

出力結果は

1
123

になり、eval()で「x」という変数を呼び出したことになります。

実行例2

eval()の引数内で変数定義や関数定義も可能です。
また、定義した変数に値を代入することもできます。
例えば、次のようなコードを書いてみます。

1
2
3
var y = "abc";
 
console.log(eval("y='d'"));

出力結果は

1
d

という結果になります。
出力結果を確認する為に、console.logを行っていますが、便宜上書いているだけです。

実行例3

eval()での関数定義を試してみます。

1
2
3
eval("function abc() { return 'z'; }");
 
console.log(abc());

出力結果は

1
z

という結果になります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です