๐Ÿถ Programming/JavaScript

1. JavaScript ์‹œ์ž‘ํ•˜๊ธฐ

์ง€ ์› 2022. 11. 6. 23:54

JavaScript

Web ๊ธฐ์ˆ ์˜ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ์–ธ์–ด

  • HTML ๋ฌธ์„œ์˜ ์ฝ˜ํ…์ธ ๋ฅผ ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด

 

๋‹ค์–‘ํ•œ ๋ถ„์•ผ๋กœ ํ™•์žฅ์ด ๊ฐ€๋Šฅํ•œ ์–ธ์–ด

2022๋…„ ํ˜„์žฌ, ๊ฐ€์žฅ ์ธ๊ธฐ์žˆ๋Š” ์–ธ์–ด

 

JavaScript์˜ ์—ญ์‚ฌ

Web์„ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด์ธ๋งŒํผ Web Browser์™€๋„ ๊นŠ์€ ์—ฐ๊ด€ ๊ด€๊ณ„๊ฐ€ ์žˆ์Œ

 

์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์—ญํ• 

URL์„ ํ†ตํ•ด Web(WWW)์„ ํƒ์ƒ‰ํ•จ

HTML/CSS/JavaScript๋ฅผ ์ดํ•ดํ•œ ๋’ค ํ•ด์„ํ•ด์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ•˜๋‚˜์˜ ํ™”๋ฉด์œผ๋กœ ๋ณด์—ฌ์คŒ

์›น ์„œ๋น„์Šค ์ด์šฉ ์‹œ ํด๋ผ์ด์–ธํŠธ์˜ ์—ญํ• ์„ ํ•จ

์›น ํŽ˜์ด์ง€ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ณ , ๋ณด์—ฌ์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ์›น ๋ธŒ๋ผ์šฐ์ €

 

์›น ๋ธŒ๋ผ์šฐ์ €์™€ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด

  • 1993, Mosaic Web Browser
    • ์œ ์ €๊ฐ€ ์›น์„ ์‰ฝ๊ฒŒ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฒ„ํŠผ ๋“ฑ์„ ํƒ‘์žฌํ•œ GUI ๊ธฐ๋ฐ˜์˜ ์›น ๋ธŒ๋ผ์šฐ์ €
  • 1994, Netscape Navigator
    • Mosaic Web Browser๋ฅผ ๊ฐœ์„ ํ•œ ํ›„์†์ž‘, ์‹œ์žฅ ์ ์œ ์œจ 80% ์ฐจ์ง€
  • ์ด๋•Œ ๊นŒ์ง€๋งŒ ํ•ด๋„ ์ •์  ์›น ํŽ˜์ด์ง€๋ฅผ ๋‹จ์ˆœํžˆ ๋ณด์—ฌ์ฃผ๋Š” ์šฉ๋„
  • ์›น ๋ธŒ๋ผ์šฐ์ €์— ํƒ‘์žฌํ•ด์„œ ์›น ํŽ˜์ด์ง€๋ฅผ ๋™์ ์œผ๋กœ ๋ฐ”๊ฟ”์ค„ Script ์–ธ์–ด ๊ฐœ๋ฐœ ํ•„์š”
    • Script ์–ธ์–ด? - ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ธฐ๊ณ„์–ด๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ ์—†์ด ๋ฐ”๋กœ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์–ธ์–ด ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Œ
  • Netscape ์—์„œ ์•ฝ 10์ผ์˜ ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„์„ ํ†ตํ•ด Script์–ธ์–ด์ธ Mocha ๊ฐœ๋ฐœ
  • ์ดํ›„ LiveScript๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ ํ›„ ๋ธŒ๋ผ์šฐ์ €์— LiveScript๋ฅผ ํ•ด์„ํ•ด์ฃผ๋Š” Engine์„ ๋‚ด์žฅ
  • ๋‹น์‹œ ์ธ๊ธฐ์žˆ๋˜ JAVA์˜ ๋ช…์„ฑ์— ๊ธฐ๋Œ€๋ณด๊ณ ์ž JavaScript๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ
  • 1995, Microsoft์˜ Internet Explorer
    • “Netscape๊ฐ€ ๋„ˆ๋ฌด ์ž˜๋‚˜๊ฐ€๋Š”๋ฐ? ์šฐ๋ฆฌ๋„ Web Browser๋งŒ๋“ค์–ด๋ณด์ž”
    • JavaScript๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•œ JScript๋ผ๋Š” ์–ธ์–ด ์ œ์ž‘ ํ›„ ์ด๋ฅผ ํƒ‘์žฌํ•œ Web Browser์ธ Internet Explore์ถœ์‹œ
    • ์ดํ›„ JavaScript์™€ JScript๋Š” ๊ฐ์ž์˜ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์‹œ์ž‘
    • ๊ฐœ๋ฐœ์ž๋“ค์€ Netscape Navigator์™€ Internet Explorer๊ฐ๊ฐ์— ๋Œ€ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ ํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์„ ๋งž์ดํ•˜๊ฒŒ ๋จ
  • 1996-2000, ECMA ํ‘œ์ค€ ๋ฐœ์˜
    • Netscape๊ฐ€ ์ •๋ณด ํ†ต์‹ ์— ๊ด€ํ•œ ๊ทœ์•ฝ์„ ๋งŒ๋“œ๋Š” ๋น„์˜๋ฆฌ ๋‹จ์ฒด ECMA์—๊ฒŒ JavaScript ๊ธฐ๋ฐ˜์˜ ํ‘œ์ค€์•ˆ ๋ฐœ์˜ ์ œ์•ˆ, ECMAScript1 ์ถœ์‹œ
    • ์ดํ›„ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฌธ๋ฒ•์ด ์ถ”๊ฐ€๋˜๋ฉฐ ECMAScript์˜ ๋ฒ„์ „์ด ์˜ฌ๋ผ๊ฐ
    • ์ด ์ƒํ™ฉ์„ ์ง€์ผœ๋ณด๋˜ Microsoft
      • “Windows ์•Œ์ง€? ์šฐ๋ฆฌ๋Š” ๊ฑฐ๊ธฐ์— ๊ธฐ๋ณธ์ ์œผ๋กœ Internet Explorer ํƒ‘์žฌํ•จ!”
    • ๊ฒฐ๊ตญ ์‹œ์žฅ ์ ์œ ์œจ 95% ์ด์ƒ์œผ๋กœ ์ฆ๊ฐ€, SCMA Scriptํ‘œ์ค€์•ˆ ์ง€ํ‚ค์ง€ ์•Š๊ฒ ๋‹ค ์„ ์–ธ
  • 2001-2004, ๋‹ค์–‘ํ•œ ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ๋“ฑ์žฅ
    • ActionScript3๋ผ๋Š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ Firefox์›น ๋ธŒ๋ผ์šฐ์ € ์ถœ์‹œ
    • ๊ฐœ๋ฐœ์ž : โ˜ โ˜ โ˜ 
      • Netscape Navigator & Internet Explorer & Firefox ์ง€์›์„ ์œ„ํ•ด ๊ณ ํ†ต
    • ์ดํ›„ Opera๋“ฑ์˜ ๋‹ค์–‘ํ•œ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ณ„์† ์‹œ์ž‘์— ์ถœ์‹œ๋จ
    • ๋‹ค์–‘์„ฑ์œผ๋กœ ์ธํ•ด ๋”๋”์šฑ ๋งŽ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•„์š”ํ•ด์กŒ๊ณ , ์ด๋Š” ์ง‘๋‹จ ์ง€์„ฑ์„ ํ˜•์„ฑ
  • jQuery ๋“ฑ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ์žฅ
    • ๊ฐ ๋ธŒ๋ผ์šฐ์ €์˜ ์—”์ง„์— ๋งž๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ๊ณ ํ†ต์Šค๋Ÿฌ์›€
    • ์ค‘๊ฐ„์— ํ•˜๋‚˜์˜ ๋ ˆ์ด์–ด๋ฅผ ๋‘๊ณ  ์ฝ”๋”ฉํ•˜๋Š” ๊ฒƒ = jQuery
      • jQuery ๋ฌธ๋ฒ•์— ๋งž์ถฐ ์ž‘์„ฑํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๋ณ„ ์—”์ง„์— ๋งž๋Š” ์Šคํฌ๋ฆฝํŠธ ๋ณ€ํ™˜์€ jQuery๊ฐ€ ์•Œ์•„์„œ ๋ณ€ํ™˜ํ•ด์คŒ
    • ์ดํ›„ ์•„์ฃผ ๋งŽ์€ ์ฝ”๋“œ๊ฐ€ jQuery๋กœ ์ž‘์„ฑ๋จ
  • 2008, Google์˜ Chrome ๋“ฑ์žฅ๊ณผ ๋Œ€ํ†ตํ•ฉ์˜ ์‹œ๋Œ€
    • V8์ด๋ผ๋Š” ๊ฐ•๋ ฅํ•œ ์—”์ง„์„ ํƒ‘์žฌํ•œ Chrome ๋“ฑ์žฅ
      • JavaScript ํ•ด์„์ด ๋‹ค๋ฅธ ์›น ๋ธŒ๋ผ์šฐ์ €์— ๋น„ํ•ด ์›”๋“ฑํžˆ ๋น ๋ฆ„
      • ์ด๋กœ ์ธํ•ด ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฒ„๋ฒ…์ž„์ด ์—†๊ณ  ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ๋™์ž‘
    • Chrome์˜ ์„ฑ๋Šฅ ์•ž์—์„œ ๋‹ค๋ฅธ ์›น ๋ธŒ๋ผ์šฐ์ €๋“ค์ด ํ•จ๊ป˜ ํ‘œ์ค€์•ˆ์„ ๋งŒ๋“ค์ž๊ณ  ์ œ์•ˆ
  • 2009, ECMAScript5 (ES5) ํ‘œ์ค€์•ˆ ์ œ์ •
  • 2015, ECMAScript6 (ES6) ํ‘œ์ค€์•ˆ ์žฌ์ •
  • ์ดํ›„์—๋„ ๊ณ„์†ํ•ด์„œ ๋ฒ„์ „์ด ์—…๋ฐ์ดํŠธ ๋˜๊ณ  ์žˆ์œผ๋‚˜, ํฐ ๋ณ€ํ™”๋Š” ES6์—์„œ ์ด๋ฃจ์–ด์ง

 

[ ์ •๋ฆฌ ]

  • ์›น ๋ธŒ๋ผ์šฐ์ €๋Š” JavaScript๋ฅผ ํ•ด์„ํ•˜๋Š” ์—”์ง„์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ
  • ํ˜„์žฌ์˜ JavaScript๋Š” ์ด์ œ ์‹œ์žฅ์—์„œ ์ž๋ฆฌ๋ฅผ ์žก์€ ์–ธ์–ด์ด๋ฉฐ, ๊ฐœ๋ฐœ์—์„œ ํฐ ์ถ•์„ ๋‹ด๋‹นํ•˜๋Š” ์–ธ์–ด
  • ๋” ์ด์ƒ jQuery๋“ฑ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†์Œ (๋ชจ๋“  ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ‘œ์ค€์•ˆ์„ ๋”ฐ๋ฆ„)
  • ํŠนํžˆ, Chrome์˜ V8์˜ ๊ฒฝ์šฐ JavaScript๋ฅผ ๋ฒˆ์—ญํ•˜๋Š” ์†๋„๊ฐ€ ๋งค์šฐ ๋น ๋ฆ„
    • ๋ฌผ๊ฑด์ธ๋ฐ? Web Browser์—์„œ๋งŒ ์‚ฌ์šฉํ•˜์ง€ ๋ง๊ณ  ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์—์„œ๋„ ํ™œ์šฉํ•ด๋ณด์ž!
    • node.js, react.js, electron ๋“ฑ์˜ ๋‚ด๋ถ€ ์—”์ง„์œผ๋กœ ์‚ฌ์šฉ๋จ
    • ๊ทธ ๊ฒฐ๊ณผ, back-end, mobile, desktop app ๋“ฑ์„ ๋ชจ๋‘ javaScript๋กœ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•ด์ง

'๐Ÿถ Programming > JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

2. ๋ณ€์ˆ˜์™€ ์ž๋ฃŒํ˜•  (0) 2022.11.20
3. ์—ฐ์‚ฐ์ž  (0) 2022.11.13