
Oprava kódu
Ahoj, proč mi to nefunguje?
let aaa = function ()
{
console.log('aaa');
bbb = function()
{
console.log('bbb');
}
ccc = function()
{
console.log('ccc');
}
}
aaa();//Očekávaný výsledek : aaa
aaa.bbb();//Očekávaný výsledek : bbb
aaa.ccc();//Očekávaný výsledek : ccc
Nevidím důvod, proč by to mělo fungovat. Už zase řešíš podivnosti.
Nemůžu mít funkci ve funkci?
Funkci ve funkci klidně mít můžeš. Ale nemůžeš ji takhle volat.
Díky, volání je tedy špatně. A jak se takové funkce volají?
Pokud vytvoříš proměnnou bez klíčového slova (var, let), tak má automaticky globální scope.
A co takto?
To má zase jenom blokový scope. S var by to mělo funkční scope, který se ale v tomhle případě shoduje s blokovým.
Obávám se, že to co chceš, vůbec není možné.