#な… 何を言っているのか わからねーと思うが
俺も一体何を書きたいのか、わからなかった。
とりあえず、あ・・・ありのまま、今書いたソースを伝えるぜ!
<!DOCTYPE html>
<html lang="ja"><head>
<meta charset="utf-8">
<script>
var consoleLogComment = function(str) {
var result = (new Function('return ' + str + ';'))()
return 'console.log(' + str + '); //' + result;
};
var copyText = '';
copyText += consoleLogComment("1+1");
copyText += '<br />';
copyText += consoleLogComment("parseInt('020')");
copyText += '<br />';
copyText += consoleLogComment("parseInt('020', 10)");
copyText += '<br />';
copyText += consoleLogComment("parseInt('020', 8)");
copyText += '<br />';
copyText += consoleLogComment("parseInt(020, 10)");
copyText += '<br />';
copyText += consoleLogComment("parseInt(020, 8)");
copyText += '<br />';
document.write(copyText)
</script>
</head><body>
</body></html>
※コメント欄で教えていただきました。もっと短くかけるって。
const consoleLogComment = (s) => `console.log(${s}); // ${eval(s)}`
これで得られる結果は、これだ。
console.log(1+1); //2
console.log(parseInt('020')); //20
console.log(parseInt('020', 10)); //20
console.log(parseInt('020', 8)); //16
console.log(parseInt(020, 10)); //16
console.log(parseInt(020, 8)); //14
ここで、parseIntは関係ねえ。
console.log(何か) //何かの答え
この形式で、文字列が取得できるってことだ。
JavaScriptの本とかでよく見かける、この形式のソースコードだ。
頭がどうにかなりそうだった…
そんなチャチなもんじゃあ 断じてねえ
もっと恐ろしいものの片鱗を 味わったぜ…
#ということで、
いちいち、console.logの出力内容をコピーして、//以降に記述しなくても、consoleLogComment を使うと、そのソース文そのものが文字列として手に入るって仕組みです。
コードを公開したい人(俺とかおまえとか)には、役に立つような気がしました。
どうぞ。