JavaScript の関数のコードを文字列として表示する
JavaScript の関数を文字列として出力する方法。下コードのとおり toString を使う。
function myFunction(a, b) {
return a + b;
}
const text = myFunction.toString()
console.log(text);
// function myFunction(a, b) {
// return a + b;
// }文字列から関数をつくる
eval という危険な関数を使うと、文字列から関数を生成できる。
function greet(name) {
return `Hello, ` name
}
const evalGreet = eval(`(` + fnString + `)`)
console.log(evalGreet("太郎"))
// Hello, 太郎!カッコで囲むのがポイント。カッコで囲まないとエラーが起きる。
function greet(name) {
return `Hello, ` name
}
const fnString = greet.toString()
const evalGreet = eval(fnString)
// TypeError: evalGreet is not a function正解はこちら。
function greet(name) {
return `Hello, ` name
}
const fnString = greet.toString()
const evalGreet = eval(`(` + fnString + ``)
// TypeError: evalGreet is not a function