๐Ÿ›ต [JS] | 3์žฅ. ๋ณ€์ˆ˜์™€ ๊ฐ’

post-thumbnail

์‚ฌ์ง„ ์ถœ์ฒ˜ ย ย ย ย ย ย  ๋„์„œ ๊ตฌ๋งค
๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž…๋ฌธ | ์ด์†Œ ํžˆ๋กœ์‹œ ์ง€์Œ | ์„œ์žฌ์› ์˜ฎ๊น€ ์ฑ…์„ ์ฝ๊ณ  ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ด ์ฑ…์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ธฐ๋ณธ ์›๋ฆฌ์™€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐœ๋…๋“ค์„ ์•„์ฃผ ์‰ฝ๊ฒŒ ์•Œ๋ ค์ฃผ๋Š” ์ฑ…์ž…๋‹ˆ๋‹ค. ์ด ์ฑ… ๋•๋ถ„์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์†Œ์Šค๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๊ณ , ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์›น ๊ฐœ๋ฐœ๋„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•๋ ฅ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.





๐ŸŸฆ ๋ณ€์ˆ˜

๐Ÿ”น ๋ณ€์ˆ˜์„ ์–ธ

  • ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ณ€์ˆ˜ ์•ˆ์—๋Š” ์ •์˜๋˜์ง€ ์•Š์•˜์Œ์„ ๋œปํ•˜๋Š” undefined๋ผ๋Š” ๊ฐ’์ด ๋“ค์–ธ๋‹ค.
  • ํ”„๋กœ๊ทธ๋žจ์—์„œ = ์—ฐ์‚ฐ์ž๋Š” ์˜ค๋ฅธ์ชฝ ๊ฐ’์„ ์™ผ์ชฝ ๋ณ€์ˆ˜์— ๋Œ€์ž…ํ•˜๊ฒ ๋‹ค๋Š” ๋œป์ด๋‹ค.

๐Ÿ”น ๋ณ€์ˆ˜์„ ์–ธ ์ƒ๋žต

  • var๋ฌธ์œผ๋กœ ์„ ์–ธํ•˜์ง€ ์•Š์€ ๋ณ€์ˆ˜๋ฅผ ์ฝ์œผ๋ ค๊ณ  ์‹œ๋„ํ•˜๋ฉด ์ฐธ์กฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
  • ๊ทธ๋Ÿฌ๋‚˜ var๋ฌธ์œผ๋กœ ์„ ์–ธํ•˜์ง€ ์•Š์€ ๋ณ€์ˆ˜์— ๊ฐ’์„ ๋Œ€์ž…ํ•  ๋•Œ๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ๊ฐ’์„ ๋Œ€์ž…ํ•˜๋ฉด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ๊ทธ ๋ณ€์ˆ˜๋ฅผ ์ž๋™์œผ๋กœ '์ „์—ญ๋ณ€์ˆ˜'๋กœ ์„ ์–ธํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • ๊ทธ๋Ÿฌ๋‚˜ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜์ง€ ์•Š๊ณ  ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฒ„๊ทธ์˜ ์›์ธ์ด ๋˜๋ฏ€๋กœ ๋ณ€์ˆ˜๋Š” ๋ฐ˜๋“œ์‹œ ์„ ์–ธํ•˜๊ณ  ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
console.log(x);
x=2;
console.log(x);

๐Ÿ”น ๋ณ€์ˆ˜ ๋Œ์–ด์˜ฌ๋ฆผ

  • ํ”„๋กœ๊ทธ๋žจ์€ ์ž‘์„ฑํ•œ ์ˆœ์„œ์— ๋”ฐ๋ผ ์œ—์ค„๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์‹คํ–‰๋œ๋‹ค.
  • ํ•˜์ง€๋งŒ ๋ณ€์ˆ˜ ์„ ์–ธ์€ ์ด ์›์น™์„ ๋”ฐ๋ฅด์ง€ ์•Š๋Š”๋‹ค.
  • ํ”„๋กœ๊ทธ๋žจ ์ค‘๊ฐ„์—์„œ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋”๋ผ๋„ ๋ณ€์ˆ˜๊ฐ€ ํ”„๋กœ๊ทธ๋žจ ์ฒซ ๋จธ๋ฆฌ์— ์„ ์–ธ๋œ ๊ฒƒ ์ฒ˜๋Ÿผ ๋‹ค๋ฅธ ๋ฌธ์žฅ ์•ž์— ์ƒ์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • ๋ณ€์ˆ˜ ์„ ์–ธ์˜ ๋Œ์–ด์˜ฌ๋ฆผ(hoisting) : ๋ณ€์ˆ˜ ์„ ์–ธ์€ ํ”„๋กœ๊ทธ๋žจ ์ฒซ๋จธ๋ฆฌ๋กœ ๋Œ์–ด์˜ฌ๋ ค์ง„๋‹ค. ๋‹จ, ์„ ์–ธ๊ณผ ๋™์‹œ์— ๋Œ€์ž…ํ•˜๋Š” ์ฝ”๋“œ๋Š” ๋Œ์–ด์˜ฌ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค.
console.log(x);
var x = 5;
console.log(x);

๋ณ€์ˆ˜์„ ์–ธ์˜ ๋Œ์–ด์˜ฌ๋ฆผ์œผ๋กœ ์ฐธ์กฐ์˜ค๋ฅ˜(ReferenceError)๊ฐ€ ๋‚˜์ง€ ์•Š๋Š”๋‹ค. ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ธฐ๋งŒ ํ–ˆ๋‹ค๋Š” ๋œป์œผ๋กœ undefined๋ผ๋Š” ๊ฐ’์ด ๋“ค์–ด์žˆ๋‹ค.

๐Ÿ”น ๋ณ€์ˆ˜ ์ค‘๋ณต์„ ์–ธ

  • var๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ™์€ ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋ณ€์ˆ˜๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์„ ์–ธํ•˜๋”๋ผ๋„ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ๊ฐ™์€ ์ด๋ฆ„์œผ๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ๋ชจ๋‘ ๋Œ์–ด์˜ฌ๋ฆฐ ํ›„์— ๋‹จ ํ•˜๋‚˜์˜ ์˜์—ญ์— ํ• ๋‹น๋œ๋‹ค.
  • ๋ณ€์ˆ˜ ์„ ์–ธ์˜ ๋Œ์–ด์˜ฌ๋ฆผ์€ ๋‹ค๋ฅธ ์–ธ์–ด์—๋Š” ์—†๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋งŒ์˜ ๊ณ ์œ ํ•œ ํŠน์ง•์ด๋‹ค.

๐Ÿ”น ๋ณ€์ˆ˜์˜ ๋ช…๋ช…๊ทœ์น™

  • ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ๋ผ๋ฒจ ์ด๋ฆ„ ๋“ฑ ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•˜๋Š” ์ด๋ฆ„์„ ์‹๋ณ„์ž๋ผ๊ณ  ํ•œ๋‹ค.
  • ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ž : ์•ŒํŒŒ๋ฒณ(A~Z, a~z), ์ˆซ์ž(0~9), ๋ฐ‘์ค„(-), ๋‹ฌ๋Ÿฌ๊ธฐํ˜ธ($)
  • ์ฒซ ๊ธ€์ž๋กœ๋Š” ์ˆซ์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
  • ์˜ˆ์•ฝ์–ด๋ฅผ ์‹๋ณ„์ž๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

๐ŸŸฆ ๋ฐ์ดํ„ฐํƒ€์ž…

๐Ÿ”น ๋ณ€์ˆ˜์˜ ๋™์  ํƒ€์ดํ•‘

  • ๋ฐ์ดํ„ฐํƒ€์ž… : ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ข…๋ฅ˜
  • ์ •์ ํƒ€์ž… ์–ธ์–ด : ๋ณ€์ˆ˜์— ํƒ€์ž…์ด ์žˆ๋Š” ์–ธ์–ด
  • ์˜ˆ) C๋‚˜ JAVA ๋“ฑ์—์„œ๋Š” ๊ทธ ๋ณ€์ˆ˜์˜ ํƒ€์ž…๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋™์ ํƒ€์ž… ์–ธ์–ด : ์‹คํ–‰ํ•  ๋•Œ ๋ณ€์ˆ˜์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ๋™์ ์œผ๋กœ ๋ฐ”๋€” ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด
  • ์˜ˆ) JS์—๋Š” ๋ณ€์ˆ˜์— ํƒ€์ž…์ด ์—†์œผ๋ฏ€๋กœ ๋ณ€์ˆ˜์— ๋ชจ๋“  ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฐ™์€ ๋ณ€์ˆ˜์— ์ˆซ์ž๋‚˜ ๋ฌธ์ž์—ด ๊ฐ™์€ ๋‹ค์–‘ํ•œ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋Œ€์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • JS๋Š” ๋™์ ํƒ€์ž…์–ธ์–ด๋ผ์„œ ๋ณ€์ˆ˜์— ์–ด๋–ค ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋Š”์ง€ ํƒ€์ž… ๋ณ€ํ™˜์— ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.

๐Ÿ”น ๋ฐ์ดํ„ฐํƒ€์ž…์˜ ๋ถ„๋ฅ˜

  • JS๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐํƒ€์ž…์€ ์›์‹œํƒ€์ž…๊ณผ ๊ฐ์ฒดํƒ€์ž…์œผ๋กœ ๋‚˜๋‰œ๋‹ค.
  • ์›์‹œํƒ€์ž…
    • ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์š”์†Œ
    • ๋ถˆ๋ณ€๊ฐ’(๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋Š” ๋ฐ์ดํ„ฐ)์œผ๋กœ ์ •์˜๋˜์–ด ์žˆ๋‹ค.
    • ์›์‹œํƒ€์ž…์˜ ๊ฐ’์€ ์›์‹œ ๊ฐ’์ด๋ผ๊ณ  ํ•œ๋‹ค.
  • ๊ฐ์ฒดํƒ€์ž…
    • ์›์‹œํƒ€์ž…์— ์†ํ•˜์ง€ ์•Š๋Š” ๊ฐ’์€ ๋ชจ๋‘ ๊ฐ์ฒด์ด๋‹ค.
    • ๊ฐ์ฒด๋Š” ๋ณ€์ˆ˜ ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ๋ชจ์—ฌ์„œ ๋งŒ๋“ค์–ด์ง„ ๋ณตํ•ฉ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋‹ค.
    • ๊ฐ์ฒด ์•ˆ์— ์ €์žฅ๋œ ๊ฐ’์€ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.
    • ๊ฐ์ฒด๋Š” ์ฐธ์กฐ ํƒ€์ž…์ด๋‹ค.
    • ๊ฐ์ฒด ํƒ€์ž…์˜ ๊ฐ’์„ ๋ณ€์ˆ˜์— ๋Œ€์ž…ํ•˜๋ฉด ๋ณ€์ˆ˜์—๋Š” ๊ทธ ๊ฐ์ฒด์— ๋Œ€ํ•œ ์ฐธ์กฐ(๋ฉ”๋ชจ๋ฆฌ์—์„œ์˜ ์œ„์น˜์ •๋ณด)๊ฐ€ ํ• ๋‹น๋œ๋‹ค.

๐Ÿ”น ์ˆซ์ž

  • ๋Œ€๋‹ค์ˆ˜์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—๋Š” ์ •์ˆ˜ ํƒ€์ž…๊ณผ ๋ถ€๋™ ์†Œ์ˆ˜์  ํƒ€์ž…์ด ๋”ฐ๋กœ ์žˆ๋‹ค.
  • JS
profile
๋ช‡ ๋ฒˆ์„ ๋„˜์–ด์ ธ๋„ ์•ž์œผ๋กœ ๊ณ„์† ๋‚˜์•„๊ฐ€์ž

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