Wpis z mikrobloga

@scorpio18k: jeśli masz na myśli fragment "fixing function memory leaks" to nie, odniesienia do value nie ma. Jest odniesienie do value.length, które to jest odniesieniem do prymitywu (w tym wypadku typu number). Odniesienia do prymitywów są w pamięci kopiowane. Więc value.length zostało skopiowane do nowego miejsca w pamięci, a na value już nic bezpośrednio nie wskazuje, więc garbage collector może to wyrzucić
  • Odpowiedz
@scorpio18k: w pierwszym przypadku musisz cały czas trzymać referencję do value żeby móc odwołać się do value.length.
W drugim przypadku do value odwołujesz się tylko raz (gdy pobierasz wartość), jest to number więc zostaje skopiowany w inne miejsce w pamięci i od tamtej pory odwołujesz się tylko do tego numbera, nie masz już żadnych odwołań bezpośrednio do value
  • Odpowiedz
@scorpio18k: podejrzewam że dałoby się zrobić customową regułę do ESLinta która sprawdzałaby czy czasem w closure nie zamykasz obiektu. Może Chat GPT pomoże z tym
  • Odpowiedz