# ๐Ÿ“š ์ถ”์ฒœ๋„์„œ

# ๋ ˆ๋ฒจ1์—์„œ ์ฝ์—ˆ์œผ๋ฉด ํ•˜๋Š” ์ถ”์ฒœ ๋„์„œ

๋ฏธ์…˜๋งŒ ์ง„ํ–‰ํ•˜๋ฉด ์ด๋ก ์ ์ธ ์ง€์‹์— ๋นˆํ‹ˆ์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ฑ…์„ ํ†ตํ•ด ํ•™์Šต์„ ๋ณ‘ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ธ ํ•™์Šต๋ฐฉ๋ฒ•์ด ๋  ์ˆ˜ ์žˆ๋Š”๋ฐ์š”. ๊ฐ€์žฅ ์ถ”์ฒœํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฏธ์…˜์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋ชจ๋ฅด๋Š” ์ง€์‹์ด ๋‚˜์˜ค๋ฉด ์ฑ…์„ ์ฐธ๊ณ ํ•ด ํ•ด๋‹น ๋‚ด์šฉ์„ ์ดํ•ดํ•˜๋ฉฐ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ๋ ˆ๋ฒจ1์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ฐธ๊ณ ํ•˜์‹œ๋ฉด ์ข‹์„ ๊ธฐ๋ณธ ๋„์„œ ๋“ค์ž…๋‹ˆ๋‹ค. ์ ˆ๋Œ€๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ฝ์œผ๋ ค๊ณ  ํ•˜์‹œ์ง€ ๋งˆ์‹œ๊ณ , ๋ฏธ์…˜์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋ชจ๋ฅด๋Š” ๊ฐœ๋…๋“ค์„ ์šฐ์„ ์ˆœ์œ„๋กœ ๋จผ์ € ํ•™์Šตํ•˜์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค ๐Ÿ˜„

# ์ฝ”๋”ฉ์„ ์ง€ํƒฑํ•˜๋Š” ๊ธฐ์ˆ (๋‹ˆ์‹œ์˜ค ํžˆ๋กœ์นด์ฆˆ ์ง€์Œ | ๊น€์™„์„ญ ์˜ฎ๊น€ | ๋น„์ œ์ดํผ๋ธ”๋ฆญ)

  • ์ฝ”๋”ฉ์„ ์ง€ํƒฑํ•˜๋Š” ๊ธฐ์ˆ  (opens new window)
  • ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๊ฐ€๋ณ๊ฒŒ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์ฑ…์ž…๋‹ˆ๋‹ค.
  • ์ฑ…์„ ๋๊นŒ์ง€ ์ฝ์€ ํ›„ ๋ธ”๋กœ๊ทธ์™€ ๊ฐ™์€ ๊ณณ์— ๋‚ด์šฉ์„ ์ •๋ฆฌํ•  ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

# ํ”„๋กœ๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ์›น ๊ธฐ์ˆ  ์ž…๋ฌธ(๊ณ ๋ชจ๋ฆฌ ์œ ์Šค์ผ€ ์ง€์Œ | ๊น€์ •ํ™˜ ์˜ฎ๊น€ | ์œ„ํ‚ค๋ถ์Šค)

  • ํ”„๋กœ๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ์›น ๊ธฐ์ˆ  ์ž…๋ฌธ (opens new window)
  • ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ „๋ฐ˜์—์„œ ๋“ฑ์žฅํ•˜๋Š” ๊ฐœ๋…์„ ์žก๊ณ , ์šฉ์–ด์— ์นœ์ˆ™ํ•ด ์ง€๋Š”๋ฐ ๋„์›€์ด ๋˜๋Š” ์ฑ…์ž…๋‹ˆ๋‹ค.
  • ๋ ˆ๋ฒจ 2์—์„œ๋Š” "5์žฅ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ตฌ์„ฑ ์š”์†Œ"๊นŒ์ง€ ์ฝ์„ ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.
  • ํ˜„์žฌ ์ ˆํŒ๋œ ์ƒํƒœ์ด๋ฏ€๋กœ, ๊ตฌํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค๋ฉด ์šฐํ…Œ์ฝ” ์˜คํ”„๋ผ์ธ ๊ณต๊ฐ„์— ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋น„์น˜๋œ ๊ฑธ ๋ด์ฃผ์„ธ์š”.

# ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งํ•˜๋‹ค

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งํ•˜๋‹ค (opens new window)
  • ๊ต๊ณผ์„œ๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์„ ์ •๋„๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์–ธ์–ด ๊ทธ ์ž์ฒด๋กœ ๋‹ค๋ฃจ๋Š” ์–ธ์–ด๋ก ์— ๊ฐ€๊นŒ์šด ์ฑ…์ž…๋‹ˆ๋‹ค.
  • ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ •๋ฆฌ์™€ ์ƒ์„ธํ•œ ์ŠคํŽ™์œผ๋กœ ์–ธ์–ด์˜ ์—ญ์‚ฌ๋ฅผ ์ž˜ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ES2015+ ์ดํ›„์˜ ๋‚ด์šฉ์„ ๋‹ค๋ฃจ์ง€ ์•Š๊ธฐ๋•Œ๋ฌธ์— ๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์•„๋‹Œ ๊ทธ ์ด์ „ ๋ฐฐ๊ฒฝ์˜ ์ง€์‹์„ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# You Don't Know JS

  • You Don't Know JS (opens new window)
  • ์˜๋ฌธ ์›์„œ (opens new window)
  • ๋งˆ์น˜ ๋ง์„ ๊ฑด๋„ค๋Š” ๋“ฏํ•œ ๋Œ€ํ™” ํ˜•ํƒœ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ฐœ๋…๊ณผ ํ†ต์ฐฐ์„ ์•Œ๋ ค์ฃผ๋Š” ์ฑ…์ž…๋‹ˆ๋‹ค. ํ•œ ์ฑ•ํ„ฐ์”ฉ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๋ถ€๋ถ„๋“ค๋งŒ ๊ทธ ๋•Œ ๊ทธ๋•Œ ์ฝ๋Š” ๊ฒƒ๋„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

# HTTP ์™„๋ฒฝ ๊ฐ€์ด๋“œ

์ผ๋ช… ๋‹ค๋žŒ์ฅ ์ฑ…์œผ๋กœ ๋ถˆ๋ฆฌ๋ฉฐ ๊ท€์—ฌ์šด ํ‘œ์ง€๋ฅผ ์žฅ์‹ํ•˜์ง€๋งŒ ์ œ๋ชฉ ๊ทธ๋Œ€๋กœ HTTP์— ๋Œ€ํ•ด ๋งค์šฐ ์ž์„ธํžˆ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณดํ†ต ์›น ๊ธฐ๋ฐ˜์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค๋ฃจ๊ฒŒ ๋˜๋Š” ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ๋Š” ํŠผํŠผํ•œ ๋„คํŠธ์›Œํฌ ์ง€์‹์„ ์Œ“์•„์ค„ ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ๋“ ๋“ ํ•œ ์ฑ…์ž…๋‹ˆ๋‹ค.

# ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์›น ๊ฐœ๋ฐœ์ž์˜ ์‹œ์„ ์—์„œ JavaScript๋ฅผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฃจ๋ฉด ์ข‹์„์ง€ A to Z๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. IE์˜ ๋ชฐ๋ฝ๊ณผ ์‹œ๋Œ€์˜ ํ๋ฆ„์œผ๋กœ ์ตœ์‹  ECMA Script๋ถ€ํ„ฐ ๋ฐฐ์šฐ๋Š” ํ˜„ ์ƒํ™ฉ์— JavaScript๊ฐ€ ์›น ์ƒํƒœ๊ณ„์— ์–ด๋– ํ•œ ์˜ํ–ฅ์„ ๋ผ์ณค๋Š”์ง€ ์—ญ์‚ฌ์™€ ํ๋ฆ„์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์™œ ๊ทธ ๋ชจ์–‘์ผ๊นŒ?

์ €์ž ๋”๊ธ€๋ผ์Šค ํฌ๋ฝํฌ๋“œ๋Š” JSON์˜ ์ฐฝ์‹œ์ž์ด์ž JavaScript ์ „๋ฌธ๊ฐ€๋กœ ์ƒํƒœ๊ณ„์— ํฐ ์˜ํ–ฅ์„ ์ค€ ๊ตฌ๋ฃจ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค. ๊ณผ๊ฑฐ ์ถœํŒ๋œ ์ €์„œ ๋”๊ธ€๋ผ์Šค ํฌ๋ฝํฌ๋“œ์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•ต์‹ฌ ๊ฐ€์ด๋“œ (opens new window)์—์„œ๋Š” JavaScript์˜ ์ข‹์€ ์ ๊ณผ ์•„์‰ฌ์šด ์ ์„ ๋‹ค๋ฃจ๋ฉฐ ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ธฐ์ˆ ํ–ˆ์œผ๋ฉฐ ์–‡์€ ์ฑ…์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์‹ฌ๋„ ๊นŠ์€ ๋‚ด์šฉ์œผ๋กœ ๊ตญ๋‚ด์—์„œ๋„ ํฐ ์ธ๊ธฐ๋ฅผ ๋Œ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  10๋…„ ๋งŒ์— ๋‚˜์˜จ ๊ทธ์˜ ์ €์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์™œ ๊ทธ ๋ชจ์–‘์ผ๊นŒ? ๋Š” ๊ทธ๋™์•ˆ JavaScript๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”ํ•ด์™”๋Š”์ง€๋ฅผ ๊ฐ€๊ฐ ์—†์ด ๋“œ๋Ÿฌ๋‚ด๋ฉฐ ๋™์ž‘ ๋ฐฉ์‹๊ณผ ๋ณ€์ฒœ์‚ฌ๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค. ์–ด๋ ต๊ณ  ์œ ์šฉํ•˜์ง€๋งŒ ํฅ๋ฏธ๋กœ์šด ๊ตฌ์–ด์ฒด๊ฐ€ ๊ฐ€๋“ํ•ด ์žฌ๋ฏธ์žˆ๊ฒŒ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์ƒ‰๋‹ค๋ฅธ ๋งค๋ ฅ์„ ์ง€๋‹Œ ์ฑ…์ž…๋‹ˆ๋‹ค.

# JavaScript ์™„๋ฒฝ ๊ฐ€์ด๋“œ 7ํŒ (์˜์–ด)

# ECMA SPEC Document

  • ECMA (opens new window) ๋„๊ตฌ๊ฐ€ ์•„๋‹Œ ์–ธ์–ด ์ž์ฒด์— ๋Œ€ํ•ด ํ•™์Šตํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ผ๋Š” ์–ธ์–ด ์ฒด๊ณ„๊ฐ€ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด์ ธ ๊ฐ€๊ณ  ์žˆ๋Š”์ง€, ๋ช…์„ธ๋ฅผ ์Šค์Šค๋กœ ์ฝ๊ณ  ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋Š” ํž˜์„ ๊ธฐ๋ฅด๋Š”๋ฐ ๋„์›€์ด ๋  ๊ฑฐ์—์š”!

# ํ˜‘์—…์— ๊ด€ํ•œ ํ•„๋…์„œ

  • ํ•จ๊ป˜ ์ž๋ผ๊ธฐ (opens new window)
  • ๋ฉ”์ด์ปค์ค€์ด ๊ฐ€์žฅ ์ข‹์•„ํ•˜๋Š” ์ฑ… ์ค‘์— ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ํ•จ๊ป˜ ํ•™์Šตํ•˜๊ณ , ์„ฑ์žฅํ•˜๊ธฐ ์œ„ํ•œ ์‚ฌ๊ณ ๋ฐฉ์‹์˜ ์ „ํ™˜์„ ์ค€ ์ฑ…์ด์—์š”. ์ด ์ฑ…์€ ์ฝ๊ณ  ๋‚˜์„œ ์ฑ…์˜ ๋‚ด์šฉ์— ๋Œ€ํ•ด ๊ฐ™์ด ๋Œ€ํ™”๋ฅผ ๋งŽ์ด ํ•ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”.