Скажем, у меня есть IIFE:
let imagodei = {}; ;(async function(){ let C = "12:19"; imagodei.myIife = aFunctionToGetIifeText() })(imagodei);
Я бы хотел определить aFunctionToGetIifeText() так, чтобы imagodei.myIife - строка приведенного выше кода (не включая let imagodei = {};). Кто-нибудь знает, возможно ли это?
aFunctionToGetIifeText()
imagodei.myIife
let imagodei = {};
Я видел эти вопросы, но они относятся к случаю с именованной функцией:
javascript получить тело функции
Как получить основной текст функции в JavaScript?
Вы можете использовать arguments.callee, он доступен только для «обычных» функций (не для функций со стрелками)
(function() { var x = 1; console.log(arguments.callee+""); })()
Использование устаревшего метода .caller () -
let imagodei = {}; function aFunctionToGetIifeText(){ console.log(aFunctionToGetIifeText.caller.toString()); } (async function(){ let C = "12:19"; imagodei.myIife = aFunctionToGetIifeText() })(imagodei);
Более подробную информацию можно получить по этому вопросу Stackoverflow