๋ชฉ๋กJavaScript ๐Ÿ“ (8)

<star />

ํด๋กœ์ € (Closure)

ํด๋กœ์ €๋Š” ํ•จ์ˆ˜์™€ ๊ทธ ํ•จ์ˆ˜๊ฐ€ ์„ ์–ธ๋œ ๋ ‰์‹œ์ปฌ ํ™˜๊ฒฝ์˜ ์กฐํ•ฉ์ด๋‹ค. ๐ŸŒŸ A closure is the combination of a function and the lexical environment within which that function was declared. ๋ชจ๋“  ํ•จ์ˆ˜ํ˜• ์–ธ์–ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐ€์žฅ ์ค‘์š”ํ•œ ํŠน์„ฑ์ž„. ์Šค์ฝ”ํ”„์˜ ์†์„ฑ์„ ํ™œ์šฉํ•œ ์ƒ์œ„/์™ธ๋ถ€ ์‹๋ณ„์ž๋ฅผ ์ ‘๊ทผํ•จ. (์€๋‹‰์„ฑ๊ณผ ์Šค์ฝ”ํ”„ ์ฒด์ธ ์ œ์–ด) 1) ๋ ‰์‹œ์ปฌ ์Šค์ฝ”ํ”„ - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ ‰์‹œ์ปฌ ์Šค์ฝ”ํ”„๋ฅผ ๋”ฐ๋ฅด๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋‹ค. - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์€ ํ•จ์ˆ˜๋ฅผ ์–ด๋””์„œ ํ˜ธ์ถœํ–ˆ๋Š”์ง€๊ฐ€ ์•„๋‹ˆ๋ผ, ํ•จ์ˆ˜๋ฅผ ์–ด๋””์— ์ •์˜ํ–ˆ๋Š”์ง€์— ๋”ฐ๋ผ ์ƒ์œ„ ์Šค์ฝ”ํ”„๋ฅผ ๊ฒฐ์ •ํ•จ. ์ด๋ฅผ ๋ ‰์‹œ์ปฌ ์Šค์ฝ”ํ”„ (์ •์  ์Šค์ฝ”ํ”„)๋ผ ํ•œ๋‹ค. const x = 1; function foo() { const x = 1..

JavaScript ๐Ÿ“ 2022. 12. 8. 12:47
Truthy์™€ Falsy

๋ณดํ†ต์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—๋Š” ์ฐธ, ๊ฑฐ์ง“์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด์„œ Boolean ํ˜•ํƒœ์˜ ์ž๋ฃŒํ˜•์ด ์กด์žฌํ•œ๋‹ค. ๊ทธ ๊ฐ’์€ true ์™€ false ๋‘˜ ์ค‘์— ํ•˜๋‚˜๊ฐ€ ๋จ. ๊ทธ๋ฆฌ๊ณ  boolean ๊ณผ ์ž๋ฃŒํ˜•์ด ๋‹ค๋ฅธ ๊ฐ’์„ ๋น„๊ตํ•˜๊ฒŒ ๋˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค! ํ•˜์ง€๋งŒ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” true ๋Š” ์•„๋‹ˆ์ง€๋งŒ, true ๋กœ ์—ฌ๊ฒจ์ง€๋Š” ๊ฐ’์ด ์กด์žฌํ•˜๋Š”๋ฐ... ์ด๊ฒƒ์„ truthy ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, false ๋Š” ์•„๋‹ˆ์ง€๋งŒ false ๋กœ ์—ฌ๊ฒจ์ง€๋Š” ๊ฐ’์„ falsy ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. truthy ์™€ falsy ๋ฅผ ์ž˜ ์ดํ•ดํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. true {} (empty object) [] (empty array) 42 (number, not zero) "0", "false" (string, not empty) fals..

JavaScript ๐Ÿ“ 2022. 11. 30. 20:51