๐์๋ฐ์คํฌ๋ฆฝํธ ํ์๐จโ๐ป
2187 ๋จ์ด javascriptbeginners
ํ์ ๋ ๋ฌด์์ ๋๊น?
ํด๋ก์ ๋ ํจ์์ ๊ทธ ํจ์๊ฐ ์ ์ธ๋ ์ดํ ํ๊ฒฝ์ ์กฐํฉ์ ๋๋ค.
Closure๋ ์ธ๋ถ(๋ซ๋) ํจ์ ๋ณ์์ ์ก์ธ์คํ ์ ์๋ ๋ด๋ถ ํจ์์ ๋๋ค.
ํด๋ก์ ์๋ 3๊ฐ์ง ๋ฒ์ ์ฒด์ธ์ด ์์ต๋๋ค.
ํจ์ ์ธ๋ถ์ ์๋ ๋ณ์์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
ํด๋ก์ ์ฌ์ฉ
ํ์๋ ๋ฐ์ดํฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฅผ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. ๋ฐ์ดํฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฅผ ์ํด ํด๋ก์ ๋ฅผ ์ฌ์ฉํ ๋ ํฌํจ๋ ๋ณ์๋ ํฌํจ(์ธ๋ถ) ํจ์ ๋ด์์๋ง ๋ฒ์ ๋ด์ ์์ต๋๋ค. ๊ฐ์ฒด์ ๊ถํ ์๋ ๋ฉ์๋๋ฅผ ํตํ์ง ์๊ณ ๋ ์ธ๋ถ ๋ฒ์์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
ํ์์ ์๋ฅผ ๋ณด์ :
function User(name){
let displayAge = function(age){
console.log(name + " is "+age+" year old.");
}
return displayAge;
}
let user1 = User("John");
user1("22") // Output : John is 22 year old.
`
์์ ์์์
User()
๋ ๋ด๋ถ ํจ์ displayAge()
๋ฅผ ๋ฐํํ๋ ์ธ๋ถ ํจ์์
๋๋ค. ๋ด๋ถ ํจ์๋ ์ธ๋ถ ํจ์๊ฐ ๋ฐํ๋๋๋ผ๋ ์ธ๋ถ ๋ฒ์ ๋ณ์์ ์ก์ธ์คํ ์ ์์ต๋๋ค.๊ฒฐ๋ก
ํด๋ก์ ๋ ์ธ๋ถ ๋ฒ์์ ์๋ ๋ณ์์ ์ก์ธ์คํ ์ ์๋ ๋ด๋ถ ๋๋ ์ค์ฒฉ ํจ์์ผ ๋ฟ์ ๋๋ค.
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐์๋ฐ์คํฌ๋ฆฝํธ ํ์๐จโ๐ป), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/nawazmujawar/closure-in-javascript-54joํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค