[FE - ConnecTo] DAY30 TIL๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป

JUNYยท2022๋…„ 8์›” 22์ผ
0

๐Ÿ“šZeroBase ConnecTo Front-End

๋ชฉ๋ก ๋ณด๊ธฐ
19/53
post-thumbnail

22.08.22 ์ˆ˜์—…์„ ํ†ตํ•ด ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ๋“ค์„ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค ๐Ÿ˜Š
ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค! ๐ŸŠ

์‹คํ–‰ ์ปจํ…์ŠคํŠธ

์‹คํ–‰์ปจํ…์ŠคํŠธ๋ฅผ ์ดํ•ดํ–ˆ๋‹ค๋ฉด ์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์šด ๊ฒƒ๋“ค์„ ์ดํ•ดํ•ด์•ผํ•จ.

์‹๋ณ„์ž๋“ค์ด ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌ๊ฐ€ ๋˜๋Š”์ง€, ์žฌํ• ๋‹น์ด ๋˜๋Š”์ง€ ๋“ฑ๋“ฑ

๊ธฐ๋ณธ์ ์œผ๋กœ ํด๋กœ์ €๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋ฅผ ์•Œ์•„์•ผ ํ•จ.

์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋Š” ํ‰๊ฐ€ ๋‹จ๊ณ„์—์„œ ๋งŒ๋“ค์–ด์ง โ†’ why? ์‹๋ณ„์ž๊ฐ€ ํ‰๊ฐ€ ๋‹จ๊ณ„์—์„œ ๋งŒ๋“ค์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์ž„

์ „์—ญ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ โ†’ ์Šคํƒ

ํ˜„์žฌ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ? ํ˜„์žฌ ์ง€๊ธˆ ๋ญ˜ ํ•˜๊ณ  ์žˆ๋Š๋ƒ์— ๋Œ€ํ•œ ์ •๋ณด์ž„!

์‹คํ–‰ ์ปจํŠธ๋กค์ด ์˜ฎ๊ฒจ์กŒ๋‹ค? โ†’ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ ์Šคํƒ์— ์Œ“์ธ๋‹ค๋Š” ์ด์•ผ๊ธฐ์ž„!


์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋Š” ์–ธ์ œ ์‹คํ–‰์ด ๋ ๊นŒ?

์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋„ ํด๋กœ์ €์ฒ˜๋Ÿผ ๋ณด์ด๋Š”๋ฐ,

ํด๋ฆญ์ด ๋˜์—ˆ์„ ๋•Œ (โ†’ ์‹คํ–‰์ปจํ…์ŠคํŠธ ์Šคํƒ์ด ๋น„์–ด์žˆ์„ ๋•Œ๋ฅผ ์˜๋ฏธํ•จ) ์‹คํ–‰์ด ๋จ.

= ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ ๋‚ด๋ถ€์—์„œ ์ƒ์œ„ ์Šค์ฝ”ํ”„๋ฅผ ๋ฐ”๋ผ๋ดค์„ ๋•Œ ์•ˆ๋‚˜์™€์•ผ ํ•˜๋Š”๋ฐ, ์ด๊ฒŒ ํด๋กœ์ €์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋Ÿฐ ๊ฒƒ์ž„


๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋Š”..?

์ด ๋˜ํ•œ, ์‹คํ–‰ ์ปจํ…์ŠคํŠธ ์Šคํƒํ•˜๊ณ  ๊ด€๋ จ์ด ์žˆ์Œ!


ํด๋กœ์ €

์™ธ๋ถ€ํ•จ์ˆ˜๊ฐ€ ๋‚ด๋ถ€ํ•จ์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉด, ๋‚ด๋ถ€ ํ•จ์ˆ˜๊ฐ€ ์‚ด์•„์žˆ๊ฒŒ ๋œ๋‹ค!

const foo = (() => {
	let x = 1;
	return function () {
		console.log(x);
	};
})();

foo(); // 1

mdn ํด๋กœ์ € ์ •์˜๊ฐ€ ๊ต‰์žฅํžˆ ์ข‹์€๋ฐ,

๐Ÿค” ํด๋กœ์ €๋Š” ํ•จ์ˆ˜์™€ ํ•จ์ˆ˜๊ฐ€ ์„ ์–ธ๋œ ์–ดํœ˜์  ํ™˜๊ฒฝ์˜ ์กฐํ•ฉ์ด๋‹ค.

ํด๋กœ์ €๋ฅผ ๊ทธ๋ ‡๋‹ค๋ฉด ์™œ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?

์ƒํƒœ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ณ , ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•จ.

์ „์—ญ ๋ณ€์ˆ˜๋Š” ์œ„ํ—˜ํ•จ โ†’ ์˜๋„์น˜ ์•Š๊ฒŒ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์ด ๋งค์šฐ ๋†’์Œ!


์บก์Šํ™”

์บก์Šํ™”๋Š” ํ”„๋กœํผํ‹ฐ, ๋ฉ”์„œ๋“œ๋ฅผ ํ•œ ๊ณณ์œผ๋กœ ๋ชจ์•„๋‘์ž๊ณ  ํ•˜๋Š” ๊ฒƒ์ž„.

์บก์Šํ™”์™€ ์ •๋ณด์€๋‹‰์€ ๋‹ค๋ฅธ ๊ฐœ๋…์ž„.

์ •๋ณด์€๋‹‰์„ ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ, ์ € ์ฝ”๋“œ๋ฅผ ๋‹ค๋ฅธ ๊ณณ์—์„œ ์“ธ ์ˆ˜ ์žˆ์Œ

์ •๋ณด์€๋‹‰ โ†’ ์ •๋ณด : ์™ธ๋ถ€์— ๊ณต๊ฐœํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š” ๊ฒƒ๋งŒ ๊ณต๊ฐœํ•˜๋ฉด ๋จ. ์ •๋ณด๋ฅผ ์ตœ๋Œ€ํ•œ ์•ˆ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด ์ข‹์€ ๊ฒƒ์ž„!

๊ฐ์ถ”๊ธฐ ์œ„ํ•œ ๊ฐ€์žฅ ์‹ฌํ”Œํ•œ ๋ฐฉ๋ฒ•์ด private์œผ๋กœ ๊ฐ์ถ”๋Š” ๊ฒƒ์ธ๋ฐ, ๊ทธ๊ฒŒ ์•ˆ๋˜๋ฉด closure๋กœ ๋ฌถ์Œ.

๊ทธ๋ ‡๋‹ค๋ฉด,, ์ธ์Šคํ„ด์Šค๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ๋งŒ๋“œ๋Š” ์ƒํ™ฉ์—์„œ ์ •๋ณด์€๋‹‰์„ ํ•˜๋ ค๋ฉด ๋ญ˜ ์จ์•ผํ•˜๋‚˜..?

โ†’ ํด๋ž˜์Šค์˜ private์„ ์จ์•ผํ•˜๋Š” ์ˆ˜ ๋ฐ–์— ์—†์Œ.

profile
์„ฑ์žฅํ•˜๋Š” ๊ฐœ๋ฐœ์ž๐ŸŒผ

0๊ฐœ์˜ ๋Œ“๊ธ€