解説
「eval」は、多くのプログラミング言語で見られる、引数を評価してプログラムとして実行する関数です。evalは「evaluate」を短くした言葉で「評価する」という意味を持ちます。
evalは便利な命令ですが、ユーザーが入力するフレーズをもとにプログラムを実行させると危険を伴います。ファイルを破壊したり、情報を盗んだり、システムに影響をおよぼすような使い方ができるからです。
サンプル
「eval」のサンプルです。[実行]ボタンを押すと、アラートが表示されます。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>「eval」のサンプル</title>
<style> textarea { height: 4em; } </style>
</head>
<body>
<textarea>alert()</textarea><br>
<button>実行</button>
<script>
window.addEventListener('DOMContentLoaded', e => {
// ボタンのクリックに処理を登録
const elementExec = document.querySelector('button');
elementExec.addEventListener('click', e => {
// テキストエリアの中身に対して eval を登録利用
const elementIn = document.querySelector('textarea');
const result = eval(elementIn.value);
});
});
</script>
</body>
</html>
