JS Memory management
Table of contents
์๋ฐ์คํฌ๋ฆฝํธ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
๋ฉ๋ชจ๋ฆฌ ๋์
๋ฉ๋ชจ๋ฆฌ ๋์๋ ํ๋ก๊ทธ๋จ์์ ๋ฒ๋ ค์ง ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ์ง ๋ชปํ ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค. ๋ฉ๋ชจ๋ฆฌ ๋์๋ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ๊ฐ๋น์ง ์ปฌ๋ ํฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ๋ฐ๋ฅธ ๋ฐฉ์์ผ๋ก ํด์ ํ์ง ์์ ๊ฒฝ์ฐ ๋ฐ์ํ ์ ์๋ค.
๊ฐ์ฒด์ ๋ํ ์ฐธ์กฐ
๊ฐ์ฒด์ ๋ํ ์ฐธ์กฐ๊ฐ ์๋ค๋ฉด ํด๋น ์ฐธ์กฐ๋ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๊ฒ์ด๋ค. ์ฌ์ฉํ๋ ์ฐธ์กฐ์ ์ ๊ทผํ๊ธฐ ์ํด์ ๊ฐ์ฒด ์ ์ฒด๋ฅผ ๋ฒ์ ๋ด์์ ๋ก๋ฉํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ์ง ์๋ ์ฐธ์กฐ๊ฐ ๊ฐ์ ๊ฐ์ฒด ๋ด์ ๋ง์ด ์๋ค๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๊ฐ ๋ฐ์ํ ์ ์๋ค.
DOM ๋ฉ๋ชจ๋ฆฌ ๋์
DOM ํญ๋ชฉ์ ๊ฐ๋ฅดํค๋ ๋ณ์๊ฐ ์ด๋ฒคํธ ์ฝ๋ฐฑ ์ธ๋ถ์ ์ ์ธ๋ ๊ฒฝ์ฐ ํด๋น DOM ํญ๋ชฉ์ ์ ๊ฑฐํ๋๋ผ๋ ํด๋น ํญ๋ชฉ์ ์ฌ์ ํ ๋ฉ๋ชจ๋ฆฌ์ ๋จ๊ฒ ๋๋ค. (=ํด๋น DOM์ด HTML์์ ์ฌ๋ผ์ง๋๋ผ๋ ํด๋น DOM์ด ์ด๋ฒคํธ ์ฝ๋ฐฑ์์ ์ฌ์ฉ๋๋ค๋ฉด ์ฐธ์กฐ๋ ๋จ๋๋ค.) HTML DOM ๊ฐ์ฒด๋ค์ ์ญ์ ๋ ์ดํ์๋ ์ฐธ์กฐ๋ผ์๋ ์ ๋๋ค.
- ์ด๋ฒคํธ ์ฝ๋ฐฑ ๋ด๋ถ์์ ์ฐธ์กฐ๋ฅผ ์ ์ธํ๊ฑฐ๋ ํด๋ฆญ ํธ๋ค๋ฌ๋ฅผ ์ฌ์ฉํ ๋ค ๋ฑ๋ก ํด์ง๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ํผํ ์ ์๋ค.
window ์ ์ญ ๊ฐ์ฒด
๊ฐ์ฒด๊ฐ window ์ ์ญ ๊ฐ์ฒด์ ํฌํจ๋๋ ๊ฒฝ์ฐ ํด๋น ๊ฐ์ฒด๋ ๋ฉ๋ชจ๋ฆฌ์ ์กด์ฌํ๋ค. window๋ ๋ธ๋ผ์ฐ์ ์์ ์ ์ญ ๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ์ window์ ์์ฑ์ผ๋ก ์ ์ธ๋ ์ถ๊ฐ์ ์ธ ๊ฐ์ฒด๋ ๋ชจ๋ ์ ๊ฑฐํ ์ ์๋ค.(window๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์คํํ๋ ๋ฐ ํ์ํ ๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ์ด๋ค.)
- ์ ์ญ๋ณ์๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น, ๋์๋ฅผ ํผํ ์ ์๋ค.
๊ฐ์ฒด ์ฐธ์กฐ ์ ํํ๊ธฐ
๊ฐ์ฒด์ ๋ํ ๋ชจ๋ ์ฐธ์กฐ๊ฐ ์ ๊ฑฐ๋๋ฉด ํด๋น ๊ฐ์ฒด๋ (๊ฐ๋น์ง ์ปฌ๋ญํฐ์ ์ํด) ์ ๊ฑฐ๋๋ค. ๊ฐ์ฒด์ ๋จ ํ๋์ ์์ฑ๋ง ํ์ํ ๊ฒฝ์ฐ ์ ์ฒด ๊ฐ์ฒด๋ฅผ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌํด์๋ ์ ๋๋ค.
- ์ ์ฒด ๊ฐ์ฒด๊ฐ ์๋ ํ์ํ ์์ฑ๋ง ์ ๋ฌํ๋๋ก ํด์ผ ํ๋ค.
delete ์ฐ์ฐ์
์์น ์๋ ๊ฐ์ฒด ์์ฑ์ ์ ๊ฑฐํ๊ธฐ ์ํด delete ์ฐ์์ฌ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.(๊ฐ์ฒด ์ธ์ ๊ฒ๋ค์ ๊ดํด์๋ ๋์ํ์ง ์๋๋ค) <- ์ถ์ฒํ๋ ๋ฐฉ๋ฒ์ ์๋๋ผ๊ณ ๋ค์์