Javascript_ closure(2)


Javascript_ closure(2)


エンクロージャの問題:
破棄されないようにしたい場合は問題ありませんが、破棄されない場合はメモリ漏れの問題があります.
管理方法:
エンクロージャは、関数の領域変数を破棄するのではなく、メモリを消費します.このメモリ消費を解消すれば終わりです!
nullまたはundefinedを指定します.

null or undefined

let outer = function () {
 let a = 1;
 let inner = function () {
   return ++a;
 };
 return inner; //inner함수를 리턴
};

var outer2 = outer();
console.log(outer2); // 2
console.log(outer2); // 3
outer = null; //null을 할당해 함수의 변수 참조를 끊음.