๐Ÿ“• 2. Week02 ํšŒ๊ณ  (22.09.26 ~ 22.10.01)

Lee Jinoยท2022๋…„ 10์›” 2์ผ
0

๐Ÿ“• 2. Week02 ํšŒ๊ณ  (22.09.26 ~ 22.10.01)

๐Ÿš€ ๋ฒŒ์จ 3์ฃผ์ฐจ ๋Œ์ž…์ด๋ผ๋‹ˆ,

ํ•ญํ•ด๋ฅผ ์‹œ์ž‘ํ•œ์ง€ ์ด์ฃผ์ผ์ด ์ง€๋‚ฌ๋‹ค.
์ด์ฃผ์ผ์ด ์ง€๋‚ฌ๋‹ค์ง€๋ฉด ๋‚ ์งœ์ƒ์œผ๋กœ์ง€, ์ปค๋ฆฌํ˜๋Ÿผ์ƒ์œผ๋กœ๋Š” 3์ฃผ์ฐจ์— ๋Œ์ž…ํ–ˆ๋‹ค.

์šฐ์„  ์ €๋ฒˆ ์ฃผ์ฐจ ์–˜๊ธฐ๋ฅผ ์ข€ ํ•˜์ž๋ฉด ๋‚˜์—๊ฒŒ ์–ด๋ ต๊ณ , ์•„์‰ฝ๊ณ , ๋‹ต๋‹ตํ•œ ํ•œ์ฃผ์˜€๋‹ค.
"ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ" ์ฃผ์ฐจ ์˜€๋Š”๋ฐ, JavaScript๋ฅผ ๋ฐฐ์šฐ๊ณ  ์ตํžˆ๋Š” ๊ฒƒ์€ ๊ดœ์ฐฎ์•˜๋‹ค.
ํ•˜์ง€๋งŒ ๋ฌธ์ œ์ ์€ "์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด" ์˜€๋‹ค.

์ƒ์ „ ์ฒ˜์Œ ํ’€์–ด๋ณด๋Š” ๋ฌธ์ œ์™€, ๋ง๋กœ๋งŒ ๋“ฃ๋˜ ์ด๊ฒŒ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋•Œ ํ‘ผ๋‹ค๋Š” ๋ฌธ์ œ์ธ๊ฐ€?
๋ผ๋Š” ์ƒ๊ฐํ•˜๋ฉฐ ํ’€์—ˆ๋Š”๋ฐ, ์ฒ˜์Œ๋ถ€ํ„ฐ ์•„๋ฌด๊ฒƒ๋„ ๋ชจ๋ฅด๊ฒ ๋”๋ผ.

ํ•˜์ง€๋งŒ ๊ธฐ์ˆ ๋งค๋‹ˆ์ €๋‹˜๋“ค ๋ฐ ๋งค๋‹ˆ์ €๋‹˜๋“ค ์กฐ์–ธ ๋“ค์œผ๋ฉด์„œ, ํ•˜๋‹ค๋ณด๋‹ˆ ์กฐ๊ธˆ์”ฉ์€ ๋ณด์ด๋”๋ผ.
ํ•˜๋ฃจํ•˜๋ฃจ๊ฐ€ ๊ตฌ๊ธ€๋ง๊ณผ Javascript , ํ•จ์ˆ˜ ์–ด๋–ป๊ฒŒ ์“ฐ์ง€? ๋ผ๋Š” ์˜๋ฌธ์˜ ์—ฐ์†์ด์—ˆ๊ณ 

๊ฒฐ๊ตญ ๋งˆ์ง€๋ง‰๊นŒ์ง€ ์ฃผ์ฐจ ๋ชฉํ‘œ๋กœ ์ •ํ•ด์ ธ์žˆ๋˜ 28๊ฐœ๋Š” ์ฑ„์šฐ์ง€ ๋ชปํ–ˆ๋‹ค. 15๊ฐœ ๋ฌธ์ œ์ •๋„ ํ’€์—ˆ์—ˆ๋‚˜,
๊ฒฐ๊ณผ์ƒ์œผ๋กœ๋Š” ์•„์‰ฌ์šด ๊ฒฐ๊ณผ๊ฐ™์ง€๋งŒ ํ•œ์ผ ์œผ๋กœ ๋‚ด๊ฐ€ ํ’€์—ˆ๋˜ ๋ฌธ์ œ๋“ค์€ ๊ทธ๋ž˜๋„ ์ข€ ์ดํ•ดํ•˜๊ณ  ํ•„์š”ํ•œ
ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ๋„˜์–ด๊ฐ”๋˜ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—, ๊ทธ๋‚˜๋งˆ ๋‹คํ–‰์ธ ๊ฒƒ ๊ฐ™๋‹ค.

๐Ÿš€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ES๋ž€?

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ฐฐ์šฐ๋ฉด์„œ, ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์†Œ๋“œ ๋ฐ ํ•จ์ˆ˜๋“ค์˜ ๊ฒฝ์šฐ๋Š” ์กฐ๊ธˆ์”ฉ ์ตํ˜€๊ฐ”๋Š”๋ฐ,
    ๋ณธ๋ก ์œผ๋กœ ๋“ค์–ด๊ฐ€์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ES๋ž€ ๋ฌด์—‡์ผ๊นŒ? ์šฐ์„  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ถ€ํ„ฐ ๊ฐ„๋‹จํžˆ ์ง‘๊ณ  ๋„˜์–ด๊ฐ€์ž๋ฉด,

  • Javascript๋Š” ์›๋ž˜ ๋„ท์Šค์ผ€์ดํ”„์—์„œ ์‹œ์ž‘๋œ ์–ธ์–ด์ธ๋ฐ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋“ค์˜ ๊ทผ๊ฐ„์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋Š” C์–ธ์–ด๋ณด๋‹ค ํ›จ์”ฌ ๋‚˜์ค‘์— ๊ฐœ๋ฐœ๋œ ์–ธ์–ด์ด๋‹ค.

  • ๊ฒฐ๊ณผ๋ถ€ํ„ฐ ๋งํ•˜๋ฉด ES๋ผ๋Š” ๊ฒƒ์€ 'Javascript์˜ ํ‘œ์ค€ ๊ทœ๊ฒฉ'์„ ์˜๋ฏธํ•˜๋Š”๋ฐ, ์ด๊ฒƒ์ด ํƒ„์ƒํ•œ ๋ฐฐ๊ฒฝ์—๋Š” '๋ธŒ๋ผ์šฐ์ € ์ „์Ÿ'์ด๋ผ๊ณ  ํ•˜๋Š” ์›น ๋ธŒ๋ผ์šฐ์ € ์‹œ์žฅ์—์„œ์˜ ์ ์œ ์œจ ์‹ธ์›€์ด ์žˆ์—ˆ๋‹ค. ๋„ท์Šค์ผ€์ดํ”„ ์‚ฌ์—์„œ ๊ฐœ๋ฐœํ•œ Javascript๊ฐ€ ์„ ํ’์ ์ธ ์ธ๊ธฐ๋ฅผ ๋Œ๊ธฐ ์‹œ์ž‘ํ•˜์ž ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์‚ฌ์—์„œ๋„ IE 3(์šฐ๋ฆฌ๊ฐ€ ์•Œ๊ณ ์žˆ๋Š” ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ)์— JScript๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํƒ‘์žฌํ–ˆ์ง€๋งŒ, ์‹ค์ œ์ ์œผ๋กœ๋Š” ๋‘˜์˜ ๋‚ด์šฉ์ด ๋งค์šฐ ๋‹ฌ๋ผ์„œ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋”๋ผ๋„ ๊ฐœ๋ฐœ์ž๋“ค์ด ํ•ด์•ผํ•  ์ผ๊ณผ ์‹œ๊ฐ„์ด ํ›จ์”ฌ ๋Š˜์–ด๋‚˜๊ฒŒ ๋˜์—ˆ๋‹ค.

  • ์‹ค์ œ๋กœ ์„œ๋กœ ์‚ฌ์šฉ์ž๋ฅผ ๋Œ์–ด๋“ค์ด๊ธฐ ์œ„ํ•ด ์ด๊ฒƒ์ €๊ฒƒ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋‹ค ๋ณด๋‹ˆ Javascript์™€ JScript๋Š” ์ ์  ๋‹ค ๋‹ฌ๋ผ์ง€๋Š” ๊ฒฝํ–ฅ์„ ๋ณด์˜€๊ณ , ์ด์— ๋ณด๋‹ค๋ชปํ•œ European Computer Manufacturers Association (ECMA, ํ˜„ ECMA International)์—์„œ Javascript์— ๋Œ€ํ•œ ํ‘œ์ค€์„ ์ •ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

  • ๊ฒฐ๋ก ์€ ECMA Script์˜ ์ค„์ž„๋ง, ์ฆ‰ ์–ธ์–ด vs ํ‘œ์ค€๊ทœ๊ฒฉ ์ฐจ์ด ์ธ ๊ฒƒ ๊ฐ™๋‹ค.

  • ์•„ ๊ทธ๋ฆฌ๊ณ , Javascript์—๋Š” ES~~ ๋กœ ์‹œ์ž‘๋˜๋Š”๊ฒŒ ์žˆ๋Š”๋ฐ ๊ทธ๊ฑด ์‰ฝ๊ฒŒ ์–˜๊ธฐํ•˜์ž๋ฉด
    ์œˆ๋„์šฐ ๋ฒ„์ „์˜ ๊ฒฝ์šฐ window 7,8~ 10 11 ์ด๋ ‡๊ฒŒ ๋ฒ„์ „์—… ๋œ๊ฒŒ ๋‚˜์˜ค๋Š”๋ฐ
    ES(00)๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ข€๋” ๊ฐœ์„ ํ•˜๊ณ , ์ถ”๊ฐ€ํ•ด์„œ ๋‚˜์˜ค๋Š” ๋ฒ„์ „์—… ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค.


๐Ÿš€ ES5 vs ES6 ๋ฒ„์ „์˜ ์ฐจ์ด?

โ–ถ๏ธ ES5 (2009)
์ž๋ฃŒ๋ฅผ ์ฐพ์•„๋ณด๋‹ค ํŠน์ดํ•œ ์ ์„ ๋ฐœ๊ฒฌํ–ˆ๋Š”๋ฐ, ์›๋ž˜ ECMA-262์—๋Š” ES4 ํŒ์ด ์กด์žฌํ–ˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์–ธ์–ด์— ๊ด€๋ จ๋œ ์ •์น˜์ ์ธ ์ฐจ์ด๋กœ ์ธํ•ด์„œ ๋ฒ„๋ ค์กŒ๋‹ค๊ณ  ํ•œ๋‹ค. ์ด ์ค‘ ์ผ๋ถ€๊ฐ€ ES5์„ ์ด๋ฃจ๋Š” ๊ธฐ๋ณธ์ด ๋˜์—ˆ๋‹ค.

  • ๋ฐฐ์—ด์— forEach, map, filter, reduce, some, every์™€ ๊ฐ™์€ ๋ฉ”์†Œ๋“œ๋“ค์ด ์ง€์›๋˜์—ˆ๋‹ค.
  • Object์— ๋Œ€ํ•œ getter์™€ setter๊ฐ€ ์ง€์›๋˜์—ˆ๋‹ค.
  • Javascript strict๋ชจ๋“œ๊ฐ€ ์ง€์›๋˜์—ˆ๋‹ค. (๊ธฐ์กด์— ๋น„ํ•ด์„œ ๋” ์—„๊ฒฉํ•˜๊ฒŒ ๋ฌธ๋ฒ• ๊ฒ€์‚ฌ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.)
  • json ํ˜•์‹์˜ ์ž๋ฃŒ๋“ค์„ ์ง€์›ํ•œ๋‹ค. ๊ณผ๊ฑฐ์—๋Š” XML์ด๋ผ๋Š” ๊ทœ๊ฒฉ์„ ์‚ฌ์šฉํ–ˆ๋‹ค๊ฐ€, json์ด ์ธ๊ธฐ๋ฅผ ๋Œ๋ฉด์„œ javascript ์—ญ์‹œ ์ง€์›์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

โ–ถ๏ธ ES6 (ES 2015)

  • ์ด ๋ฒ„์ „์€ ES6๋ผ๊ณ ๋„ ํ•˜๊ณ  ES2015๋ผ๊ณ ๋„ ํ•˜๋Š”๋ฐ, ๋‘๊ฐœ๊ฐ€ ๊ฐ™์€ ๋ฒ„์ „์ด๊ณ  ๋ถˆ๋ฆฌ๋Š” ์ด๋ฆ„๋งŒ ๋‹ค๋ฅด๋‹ค. ์ด์œ ๋Š” ๋’ค์— ๋ฒ„์ „ ์ˆซ์ž(3,4,5,6 ๋“ฑ๋“ฑ)๋งŒ ๋ถ™์ด๋ฉด ๊ฐฑ์‹ ๋˜๋Š” ES์˜ ๋ฐœํ–‰์˜ ์ง„ํ–‰์ด ๋ณด๊ธฐ ์–ด๋ ต๋‹ค๋Š” ์ด์œ ๋•Œ๋ฌธ์ด๋‹ค.

  • ์›๋ž˜ ES๋Š” ๋ช‡๋…„์— ํ•œ ๋ฒˆ์”ฉ ๋ฐœํ‘œ๊ฐ€ ๋˜์—ˆ์ง€๋งŒ, ES5์ดํ›„๋ถ€ํ„ฐ๋Š” ๋น ๋ฅด๊ฒŒ ๋ณ€ํ™”ํ•˜๋Š” ์›น ์ƒํƒœ๊ณ„ ๋•Œ๋ฌธ์— 1๋…„์— ํ•œ๋ฒˆ์”ฉ์€ ๊ฐฑ์‹ ์„ ํ•˜์ž๋Š” ์›€์ง์ž„๋“ค์ด ์ƒ๊ฒจ๋‚˜๊ฒŒ ๋˜์—ˆ๊ณ , ์ด๋กœ ์ธํ•ด ๋‹จ์ˆœํ•œ ์ˆซ์ž๋ฅผ ๋ถ™์ด๊ธฐ ๋ณด๋‹ค๋Š” ๊ฐฑ์‹ ๋œ ์—ฐ๋„๋ฅผ ๋ถ™์—ฌ์„œ ์ƒˆ๋กœ์šด ์ด๋ฆ„์„ ๋งŒ๋“ค์ž๋Š” ์˜๊ฒฌ๋“ค์ด ์ƒ๊ฒจ๋‚˜๊ฒŒ ๋˜์—ˆ๋‹ค.
    (๊ทธ๋ฆฌ๊ณ  ์ด๋•Œ ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ์€ ์ถ”๊ฐ€์ ์ด ์ƒ๊ฒผ๋‹ค...)

  • Hoisting์„ ๊ฐœ์„ ํ–ˆ๋‹ค.

  • ๊ธฐ์กด์—๋Š” varํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ˜ธ์ด์ŠคํŒ…์ด ๋นˆ๋ฒˆํ•˜๊ฒŒ ์ผ์–ด๋‚ฌ๋Š”๋ฐ ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ธ”๋ก ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ€์ง„ let๊ณผ const๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋‹ค.

  • ํ™”์‚ดํ‘œ ๋ฌธ๋ฒ•์„ ์ง€์›ํ•œ๋‹ค.

  • ์žฅ์  : ์ฝ”๋“œ์˜ ๊ฐ„๊ฒฐํ™”, this๋ฅผ ๋ฐ”์ธ๋”ฉํ•˜์ง€ ์•Š๋Š”๋‹ค. (์˜ˆ์‹œ ๋งํฌ)

  • iterator์™€ generator ์ถ”๊ฐ€.

  • module์˜ import/export ์ถ”๊ฐ€.

  • Promise ๋„์ž…

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋น„๋™๊ธฐ์  ์–ธ์–ด์ด๊ธฐ ๋•Œ๋ฌธ์— callback์— ๋Œ€ํ•œ ์ด์Šˆ๊ฐ€ ๋งŽ์•˜์œผ๋‚˜ ์ด๋ถ€๋ถ„์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค.


๐Ÿš€ ๋งˆ์น˜๋ฉฐ

  • ๋ฒ„์ „์ฐจ์ด๋ฅผ ๋ณด๋ฉด์„œ ๋Š๋‚€ ๊ฒƒ์€, ์•„ ์ด๋Ÿฐ์‹์œผ๋กœ ์ถ”๊ฐ€ ๋˜์—ˆ๋‹ค, ์ •๋„๋งŒ ์•Œ๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค.
    ์ƒ๊ฐ๋ณด๋‹ค ์ด์ œ๊นŒ์ง€ ์จ๋ณธ๊ฒƒ ์ค‘์— ES5๊ฐ€ ๋‚ด์šฉ์ด ๋” ์•„๋Š”๊ฒŒ ๋งŽ์€ ๊ฒƒ ๊ฐ™๋‹ค.
    ์•ˆ์จ๋ณธ๊ฑธ ๋‹ค์Œ์— ์“ธ๋•Œ, ์•„ ์ด๊ฑฐ ๋ฒ„์ „ ๋ช‡์— ์ถ”๊ฐ€ ๋œ๊ฑฐ์ง€ ๋ผ๊ณ  ์ƒ๊ฐํ•ด๋ณด๊ณ  ์‹ถ์ง€๋งŒ ๊ฐ€๋Šฅํ• ์ง€..?

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋Š” ๋„ˆ๋ฌด๋‚˜๋„ ์–ด๋ ค์šด๊ฒƒ, ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์— ์ค‘์ ์„ ๋‘๋‹ค๋ณด๋‹ˆ ์ด์ œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด
    ์ฃผ์ฐจ๋Š” ์—†๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ์กฐ๊ธˆ์”ฉ ๊ฑด๋“œ๋ ค ๋ณด๊ธด ํ•ด๋ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ–ˆ๋‹ค.

  • ์ด๋ฒˆ ์ฃผ์ฐจ์—๋Š” ๋ญ”๊ฐ€ ๋ฐฐ์šด๊ฒƒ๋“ค์ด ๋งŽ๊ณ  ์•„์‰ฌ์šด ํ•œ ์ฃผ ์˜€๋˜๊ฒƒ ๊ฐ™๋‹ค. ์ดํ•ด๋ ฅ์ด ๋„ˆ๋ฌด ์•ˆ์ข‹์•„์„œ
    ๋ฌธ์ œ๋ฅผ ์ œ๋Œ€๋กœ ํ•ด๊ฒฐ์„ ์™„๋ฒฝํ•˜๊ฒŒ ํ•œ ๊ฒƒ์€ ์—†์ง€๋งŒ, ํ•œ ๊ฑธ์Œ ์ •๋„๋Š” ๋‚ด๋”›์€ ๋Š๋‚Œ์ด๋ž„๊นŒ.

  • ํ˜„์žฌ ๋ฆฌ์•กํŠธ ๊ธฐ์ดˆ ์ง„ํ–‰์ค‘์ธ๋ฐ,, ์Œ,, ์–ด๋ ต๋‹ค.. ์ž˜๋”ฐ๋ผ ๊ฐˆ ์ˆ˜ ์žˆ์„์ง€..

  • ์“ฐ๋ฉด์„œ ๋Š๋ผ๋Š”๊ฑด๋ฐ ์›๋ž˜๋Š” ๋ฐฐ์šด๊ฑธ ๊ทธ๋•Œ๊ทธ๋•Œ ํ•˜๊ณ  ์‹ถ์—ˆ์ง€๋งŒ. ๊ณต๋ถ€ํ•˜๊ธฐ ๊ธ‰๊ธ‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์—
    ๊ทธ๋ƒฅ ๊ฐ„๋‹จํžˆ ๋ฐฐ์šด์  ์“ฐ๊ณ  , ํ›„์— ์—ฌ์œ ๊ฐ€ ์ข€ ๋” ์ƒ๊ธด๋‹ค๋ฉด ์ž์„ธํžˆ ์ •์„ฑ๋“ค์—ฌ์„œ ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ.

profile
์•ˆ๋…•ํ•˜์„ธ์š”

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