๐Ÿธ [JavaScript] ๋ณ€์ˆ˜

hnyoojinยท2024๋…„ 8์›” 22์ผ

๐Ÿธ JS ๋งˆ์Šคํ„ฐ ๋˜๊ธฐ

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

JavaScript์˜ ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

๋ณ€์ˆ˜ ์ด๋ฆ„ ๊ทœ์น™์ด๋‚˜ ์„ ์–ธ ๋ฐฉ๋ฒ•, ๊ทธ๋ฆฌ๊ณ  ํ˜ธ์ด์ŠคํŒ…์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณผ ๊ฒƒ์ด๋‹ค.


๋ณ€์ˆ˜๋ž€?

์šฐ์„  ๋ณ€์ˆ˜์˜ ์ •์˜๋ถ€ํ„ฐ ์•Œ์•„๋ณด์ž.

๋ณ€์ˆ˜๋ž€, ํ•˜๋‚˜์˜ ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ™•๋ณดํ•ด๋‘๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ๋ถ™์ธ ์ด๋ฆ„ ์ด๋‹ค.

์•„๋ฌด๋ฆฌ ๋ณต์žกํ•œ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๋„ ๊ฒฐ๊ตญ์€ '๋ฐ์ดํ„ฐ ์ž…๋ ฅ - ์ฒ˜๋ฆฌ - ์ถœ๋ ฅ' ๊ณผ์ •์„ ๊ฑฐ์น˜๊ธฐ ๋งˆ๋ จ์ด๊ณ , ๊ทธ ๊ณผ์ •์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ด๋ฆ„์„ ๋ถ™์ด๋Š” ๊ณผ์ •์€ ํ•„์—ฐ์ ์œผ๋กœ ๊ฑฐ์น˜๊ฒŒ ๋œ๋‹ค.


๊ทธ๋Ÿฐ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์™œ ์ด๋ฆ„์„ ๋ถ™์–ด์•ผ ํ•˜๋Š”๊ฑธ๊นŒ?
๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ด๋ฆ„์„ ๋ถ™์ด์ง€ ์•Š์œผ๋ฉด ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚˜๋Š”์ง€ ์•Œ์•„๋ณด์ž.

10 + 20

์œ„ ์ˆ˜์‹์ด ์–ด๋–ค ๊ณผ์ •์„ ํ†ตํ•ด ์—ฐ์‚ฐ๋˜๋Š”๊ฐ€?


ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๊ธฐ์–ต(์ €์žฅ)ํ•˜๊ณ , ๊ธฐํ˜ธ์™€ ์‹์„ ํ•ด์„ํ•ด์„œ ๊ฒฐ๊ณผ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•œ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ํ•ด๋‹น ์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด, ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ?

(์šฐ๋ฆฌ๋Š” JavaScript๋ฅผ ๊ณ„์‚ฐ๊ธฐ๋กœ๋งŒ ์‚ฌ์šฉํ•  ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๊ฒฐ๊ณผ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐ˜๋“œ์‹œ ์•Œ๊ณ ์žˆ์–ด์•ผํ•œ๋‹ค.)

๊ฒฐ๊ณผ๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜์–ด์žˆ๊ณ , ๊ฒฐ๊ณผ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ๋งˆ๋•…ํ•œ ๋ฐฉ๋ฒ•์ด ์—†๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ๋‚จ์€ ๋ฐฉ๋ฒ•์ด.. ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•ด์•ผ๋งŒ ํ•œ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜..!!! ์ด๊ฑด ๊ต‰์žฅํžˆ ์œ„ํ•จํ•œ ํŒ๋‹จ์ด๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๋Š” ์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ๋Š”, ์น˜๋ช…์ ์ธ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ํ™•๋ฅ ์ด ๋งค์šฐ ํฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
๊ฒŒ๋‹ค๊ฐ€ JavaScript์—์„œ๋Š”, ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ•์ด๊ธฐ๋„ ํ•˜๋‹ค.

๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฐ ์ƒํ™ฉ์„ ํ”ผํ•  ์ˆ˜ ์žˆ๋‹ค.

let result = 10 + 20;

result๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ , ์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ํ• ๋‹น(๋Œ€์ž….์ €์žฅ)ํ•œ๋‹ค.

์ด ๋•Œ let์€ ๋ณ€์ˆ˜ ์„ ์–ธ ํ‚ค์›Œ๋“œ, result๋Š” ๋ณ€์ˆ˜ ์ด๋ฆ„์ด๋‹ค.

๋ณ€์ˆ˜ ์ด๋ฆ„์€ ์‹๋ณ„์ž๋ผ๊ณ  ํ•œ๋‹ค.

์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ ์‹๋ณ„์ž, ์ฆ‰ ๋ณ€์ˆ˜๋Š” ์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ๊ฐ’์ธ 30์„ ๊ธฐ์–ตํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์•„ ๋ณด์ธ๋‹ค.

ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๊ฐ’์ธ 30์ด ์•„๋‹ˆ๋ผ, ๊ทธ 30์„ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ช‡ ๋ฒˆ์ง€์— ์ €์žฅํ•ด ๋’€๋Š”์ง€, ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฃผ์†Œ๋ฅผ ๊ธฐ์–ตํ•˜๊ณ  ์žˆ๋‹ค.

์ฐธ๊ณ ๋กœ JavaScript์—์„œ ๋ณ€์ˆ˜์— ์ด๋ฆ„์„ ๋ถ™์ผ ๋•Œ๋Š”, camelCase๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

JavaScript์—์„œ ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜ ์ด๋ฆ„์—๋Š” camelCase ๋ฐฉ์‹์„,
๊ทธ๋ฆฌ๊ณ  ๋‚˜์ค‘์— ๋‹ค๋ฃฐ ์ƒ์„ฑ์ž ํ•จ์ˆ˜์™€ ํด๋ž˜์Šค ์ด๋ฆ„์—๋Š” PascalCase ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค.


๋ณ€์ˆ˜ ์„ ์–ธ

JavaScript๋Š” C์–ธ์–ด์™€ ๋‹ค๋ฅด๊ฒŒ, ์„ ์–ธ์‹œ ์ž๋ฃŒํ˜•์„ ๋ช…์‹œํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ๐Ÿ˜ฒ

๋ณ€์ˆ˜ ์„ ์–ธ ํ‚ค์›Œ๋“œ

๋ณ€์ˆ˜ ์„ ์–ธ์‹œ var, let, const ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๋ณ€์ˆ˜์— ํ• ๋‹น๋œ ๊ฐ’์— ๋”ฐ๋ผ ์ž๋ฃŒํ˜•์ด ์ž๋™์œผ๋กœ ๊ฒฐ์ •๋œ๋‹ค.
(๐Ÿ˜ฒ.. C ์–ธ์–ด๋งŒ ์‚ฌ์šฉํ•˜๋˜ ๋‚˜์—๊ฒŒ๋Š”,,,,, ์ถฉ๊ฒฉ์ ์ธ ์‚ฌ์‹ค์ด๋‹ค.....)

์›๋ž˜ JS์—๋Š” let์ด๋ผ๋Š” ํ‚ค์›Œ๋“œ๊ฐ€ ์—†์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค.
๋ณ€์ˆ˜๋Š” var, ์ƒ์ˆ˜๋Š” const๋กœ ์„ ์–ธ์„ ํ•˜๋Š” ์‹์ด์—ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ var๋กœ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๊ฒฝ์šฐ, block level scope๊ฐ€ ์•„๋‹Œ function level scope๋ฅผ ๊ฐ€์ง€๊ธฐ๋•Œ๋ฌธ์—, ์˜๋„์น˜ ์•Š๊ฒŒ ์ „์—ญ๋ณ€์ˆ˜๊ฐ€ ์„ ์–ธ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

๊ทธ๋ž˜์„œ ES6์—์„œ๋Š”, ์ด๋Ÿฐ ๋ฌธ์ œ์ ์„ ๋ฐœ์ƒ์‹œํ‚ค์ง€ ์•Š๋Š” let ํ‚ค์›Œ๋“œ๋ฅผ ๋„์ž…ํ–ˆ๋‹ค.

undefined

let score;

let ํ‚ค์›Œ๋“œ๋กœ score๋ผ๋Š” ์ด๋ฆ„์˜ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ–ˆ๊ณ , ๊ฐ’ ํ• ๋‹น์€ ํ•˜์ง€ ์•Š์•˜๋‹ค.

C์–ธ์–ด์—์„œ๋Š”, ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š์œผ๋ฉด ์“ฐ๋ ˆ๊ธฐ๊ฐ’์ด ์ €์žฅ๋œ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ JS์—์„œ๋Š”, ์„ ์–ธ ํ›„ ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜์ง€ ์•Š์•„๋„, ์•”๋ฌต์ ์œผ๋กœ undefined๋ผ๋Š” ๊ฐ’์ด ํ• ๋‹น๋˜์–ด ์ดˆ๊ธฐํ™”๋œ๋‹ค.
(๐Ÿ˜ฒ.. ์ถฉ๊ฒฉ์ ์ธ ์‚ฌ์‹ค 2)

์ด๊ฑด JS์˜ ๋…ํŠนํ•œ ํŠน์ง•์ด์ž ์žฅ์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

Hoisting ํ˜ธ์ด์ŠคํŒ…

console.log(score); // ๋ณ€์ˆ˜ score ์ฐธ์กฐ -> ์ถœ๋ ฅ

let score; // ๋ณ€์ˆ˜ ์„ ์–ธ

ํ ,, ์ด ์ฝ”๋“œ๋Š” ๋ณ€์ˆ˜ ์„ ์–ธ ์ „์— ๋ณ€์ˆ˜๊ฐ€ ์ฐธ์กฐ๋˜์—ˆ์œผ๋‹ˆ, ์ฐธ์กฐ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒƒ ๊ฐ™๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋†€๋ž๊ฒŒ๋„! ์ฐธ์กฐ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ ,,, ์‹ฌ์ง€์–ด undefined ๊ฐ’์ด ์ถœ๋ ฅ๋œ๋‹ค.

๊ทธ ๋ง์€ score๊ฐ€ ์„ ์–ธ๋˜์—ˆ๋‹ค๋Š” ๋œป์ด๋‹ค!!

Javascript๋Š” ํ•œ์ค„ํ•œ์ค„ ์ฐจ๋ก€๋กœ ์ฝ์–ด๊ฐ€๋ฉฐ ์‹คํ–‰๋œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ,, ์ด๊ฒŒ ๋ฌด์Šจ์ผ์ผ๊นŒ..?

์ด์œ ๋Š” ์ด๋Ÿฌํ•˜๋‹ค.

JavaScript์˜ ์ฝ”๋“œ๊ฐ€, ๋Ÿฐํƒ€์ž„์— ํ•œ์ค„ ํ•œ์ค„ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋œ๋‹ค๋Š” ๊ฑด ํ‹€๋ฆฐ ๋ง์ด ์•„๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ณ€์ˆ˜ ์„ ์–ธ ๋ถ€๋ถ„์˜ ์‹คํ–‰ ํƒ€์ด๋ฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฐ ์‹ ๊ธฐํ•œ ์ผ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

JavaScript ์—”์ง„์€, ๋Ÿฐํƒ€์ž„ ์ด์ „ ๋‹จ๊ณ„์ธ ์†Œ์Šค์ฝ”๋“œ ํ‰๊ฐ€ ๋‹จ๊ณ„์—์„œ, ๋ณ€์ˆ˜ ์„ ์–ธ์„ ํฌํ•จํ•œ ๋ชจ๋“  ์„ ์–ธ๋ฌธ์„ ์ฐพ์•„๋‚ด๊ณ  ์‹คํ–‰์‹œํ‚จ๋‹ค.

๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ๋ณ€์ˆ˜ ์„ ์–ธ์ด ์–ด๋””์— ์žˆ๋“ , ๋‹ค๋ฅธ ์ฝ”๋“œ๋“ค ๋ณด๋‹ค ๋จผ์ € ์‹คํ–‰๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ ์„ ์–ธ์ด ์ฝ”๋“œ์˜ ์–ด๋А๋ถ€๋ถ„์— ์ž‘์„ฑ๋˜์–ด์žˆ๋“ ์ง€ ๋ณ€์ˆ˜๋ฅผ ์•„๋ฌด๋ฐ์„œ๋‚˜ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ํŠน์„ฑ์„ ๋ณ€์ˆ˜ ํ˜ธ์ด์ŠคํŒ… Hoisting ์ด๋ผ๊ณ  ํ•œ๋‹ค.

๋ณ€์ˆ˜ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, var, let, const, functon, function*, class ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ์„ ์–ธํ•˜๋Š” ๋ชจ๋“  ์‹๋ณ„์ž๋Š” hoisting ๋œ๋‹ค๋Š” ๊ฑธ ๊ธฐ์–ตํ•˜์ž!


๊ฐ’ ํ• ๋‹น

์ด์ œ ์šฐ๋ฆฌ๊ฐ€ ๋‹ค๋ฃฐ ๋‚ด์šฉ์ด ํ•˜๋‚˜๋ฐ–์— ๋‚จ์ง€ ์•Š์•˜๋‹ค.

๊ฐ’์˜ ํ• ๋‹น๊ณผ ์žฌํ• ๋‹น์ด๋‹ค.

ํ• ๋‹น์ด๋ž€, ๋ณ€์ˆ˜์— ๊ฐ’์„ ๋Œ€์ž…, ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋•Œ๋Š” ํ• ๋‹น ์—ฐ์‚ฐ์ž์ธ = ์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ์šฐ๋ณ€์˜ ๊ฐ’์„ ์ขŒ๋ณ€์˜ ๋ณ€์ˆ˜์— ์ €์žฅํ•œ๋‹ค.

let score = 80;

์„ ์–ธ๊ณผ ํ• ๋‹น์„ ํ•˜๋‚˜์˜ ๋ฌธ์œผ๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ์œผ๋ฉด, ํ˜ธ์ด์ŠคํŒ…์ด ์–ด๋–ป๊ฒŒ ์ ์šฉ๋ ๊นŒ??

๊ทธ๋ž˜๋„ ์„ ์–ธ๊ณผ ํ• ๋‹น์˜ ์‹คํ–‰ ์‹œ์ ์€ ๋‹ค๋ฅด๋‹ค.

์„ ์–ธ์€ ๋Ÿฐํƒ€์ž„ ์ด์ „, ํ• ๋‹น์€ ๋Ÿฐํƒ€์ž„์— ์ผ์–ด๋‚œ๋‹ค.

JavaScript ์—”์ง„์ด ์ด๋ฅผ 2๊ฐœ์˜ ๋ฌธ์„ ๋‚˜๋ˆ„์–ด ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹นํ•˜๊ณ  ์žฌํ• ๋‹นํ•  ๋•Œ, ๋ฉ”๋ชจ๋ฆฌ์—์„œ๋Š” ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚ ๊นŒ?

๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹นํ•˜๊ธฐ ์ „, ๊ทธ ๊ณต๊ฐ„์—๋Š” undefined๋ผ๋Š” ๊ฐ’์ด ์ €์žฅ๋œ๋‹ค๊ณ  ํ–ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ๊ฐ’์ด ํ• ๋‹น๋œ๋‹ค๋Š” ๊ฑด, ์ €์žฅ ๊ณต๊ฐ„์— ์ €์žฅ๋˜์–ด ์žˆ๋˜ undefined๋ฅผ ์ง€์šฐ๊ณ  ๋‹ค์‹œ 80์„ ๊ทธ๊ณณ์— ์ฑ„์›Œ๋„ฃ๋Š” ๊ฑธ๊นŒ?

์ข‹์€ ์ƒ๊ฐ์ด์ง€๋งŒ, ์‚ฌ์‹ค๊ณผ๋Š” ๋‹ค๋ฅด๋‹ค.

JavaScript์—์„œ ๊ฐ’์„ ํ• ๋‹นํ•  ๋•Œ๋Š”, ์ƒˆ๋กœ์šด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•œ ๋’ค์— ๊ทธ๊ณณ์— ํ• ๋‹น๊ฐ’์„ ์ €์žฅํ•œ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ๊ฐ’์„ ์žฌํ• ๋‹น ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์–ด๋–จ๊นŒ?

๋‹ค์Œ ์ฝ”๋“œ์™€ ๊ฐ™์ด score์— 90์„ ์žฌํ• ๋‹น ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž.

let score = 90;

๋ณ€์ˆ˜์— ๊ฐ’์„ ์ฒ˜์Œ ํ• ๋‹นํ•˜๋Š” ๊ฒฝ์šฐ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค.

80์„ ์ง€์šฐ๊ณ  90์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ƒˆ๋กœ์šด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•˜๊ณ  ๊ทธ๊ณณ์— 90์„ ์ €์žฅํ•œ๋‹ค.

๊ทธ๋Ÿผ ์ด๋ฒˆ ์ฃผ์ œ ๋งˆ์ง€๋ง‰ ์งˆ๋ฌธ์„ ๋˜์ ธ๋ณด๊ฒ ๋‹ค.

๋ณ€์ˆ˜๋ฅผ ์žฌํ• ๋‹นํ•˜๋Š” ๊ฒฝ์šฐ, ๊ธฐ์กด์— ํ• ๋‹น๋˜์–ด ์žˆ๋˜ ๊ฐ’์€ ์–ด๋””๋กœ ์‚ฌ๋ผ์ง€๋Š” ๊ฑธ๊นŒ?

๊ทธ๋Ÿฌ๋‹ˆ๊นŒ,,, ์ € 80์ด๋ผ๋Š” ๊ฐ’์ด ์ €์žฅ๋˜์–ด์žˆ๋Š” ๊ณต๊ฐ„์€ ์–ด๋–ป๊ฒŒ ๋˜๋Š”๊ฑธ๊นŒ?

Garbage Collector

๋”์ด์ƒ ์•„๋ฌด๋„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ด๋Ÿฐ ๊ฐ’๋“ค์€,
JavaScript์˜ Garbage Collector ์— ์˜ํ•ด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ž๋™ ํ•ด์ œ๋œ๋‹ค.

์ด Garbage Collector๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ๊ฒ€์‚ฌํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•œ๋‹ค.

์–ธ์–ด ์ž์ฒด์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ด€๋ฆฌํ•˜๋Š” ์ด๋Ÿฌํ•œ ์–ธ์–ด๋ฅผ ๋งค๋‹ˆ์ง€๋“œ ์–ธ์–ด๋ผ๊ณ  ํ•œ๋‹ค.

๊ฐœ๋ฐœ์ž์˜ ๋ฉ”๋ชจ๋ฆฌ ์ œ์–ด๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๋ง์ด๋‹ค.

์–ธ๋งค๋‹ˆ์ง€๋“œ ์–ธ์–ด์ธ C์–ธ์–ด๋Š” malloc-free๊ฐ™์€ ์ €์ˆ˜์ค€ ๋ฉ”๋ชจ๋ฆฌ ์ œ์–ด ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.

JS๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์„ ์ฐจ๋‹จํ•˜์—ฌ ์น˜๋ช…์ ์ธ ์˜ค๋ฅ˜์˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์„ ๋‚ฎ์ถ”์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค.



JavsScript์˜ ๋ฌธ๋ฒ•์— ์žˆ์–ด์„œ ๊ฐ€์žฅ ๊ธฐ์ดˆ์ ์ด๊ณ  ๊ฐ„๋‹จํ•œ ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.

์ƒ๊ฐ๋ณด๋‹ค C์–ธ์–ด์™€ ์ฐจ์ด์žˆ๋Š” ํŠน์ง•์ด ๊ฝค ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์•„์„œ ํฅ๋ฏธ๋กœ์› ๋‹ค.

์•ž์œผ๋กœ ์ฒ˜์Œ ๋“ค์–ด๋ณด๋Š” ๊ฐœ๋…๋„ ๋งŽ์ด ๋‚˜์˜ค๊ฒ ์ง€๋งŒ, ๊ทธ๋•Œ๋„ ์ด๋Ÿฐ ํฅ๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•ด๋ณด๊ฒ ๋‹ค..!

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