[Language/JavaScript] ์–ธ์–ด์  ํŠน์ง•

2023. 4. 11. 09:27ใ†๐Ÿ”ค Language/JavaScript

์ •์˜

์›นํŽ˜์ด์ง€์— ์ƒ๋™๊ฐ์„ ๋ถˆ์–ด๋„ฃ๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์–ธ์–ด

scipt

  • JavaScript๋กœ ์ž‘์„ฑํ•œ ํ”„๋กœ๊ทธ๋žจ
  • ์›นํŽ˜์ด์ง€์˜ HTML ์•ˆ์— ์ž‘์„ฑ๊ฐ€๋Šฅ
  • ์›นํŽ˜์ด์ง€ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ์— ์ž๋™์œผ๋กœ script ์‹คํ–‰
  • ํŠน๋ณ„ํ•œ ์ค€๋น„ ๋ฐ ์ปดํŒŒ์ผ ์—†์ด ๋ฌธ์ž ํ˜•ํƒœ๋กœ ์ž‘์„ฑ ๋ฐ ์‹คํ–‰ ๊ฐ€๋Šฅ

์—”์ง„: ๋ธŒ๋ผ์šฐ์ €์— ๋‚ด์žฅ๋˜์–ด ์žˆ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ€์ƒ ๋จธ์‹ 

  • V8: Chorme, Opera
  • SpiderMonkey: Firefox
  • Microsoft Edge: ChakraCore
  • SquirelFish: Safari

์—”์ง„์˜ ๋™์ž‘์›๋ฆฌ

  1. ํŒŒ์‹ฑ: ์—”์ง„์ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ฝ์Œ
  2. ์ปดํŒŒ์ผ: ์ฝ์–ด ๋“ค์ธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ธฐ๊ณ„์–ด๋กœ ์ „ํ™˜
  3. ๊ธฐ๊ณ„์–ด๋กœ ์ „ํ™˜๋œ ์ฝ”๋“œ ์‹คํ–‰(์ „ํ™˜ ๋˜์—ˆ๊ธฐ์— ์‹คํ–‰ ์†๋„๊ฐ€ ๋น ๋ฆ„)

์—”์ง„์ด ๊ฐ ํ”„๋กœ์„ธ์Šค ๋งˆ๋‹ค ์ตœ์ ํ™”๋ฅผ ์ง„ํ–‰ํ•˜์—ฌ์„œ ์‹คํ–‰์†๋„๊ฐ€ ๋น ๋ฆ„.

๋ธŒ๋ผ์šฐ์ €์—์„œ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ

  • ํŽ˜์ด์ง€์— ์ƒˆ๋กœ์šด HTML ์ถ”๊ฐ€ ๋ฐ ์ˆ˜์ •
  • ์‚ฌ์šฉ์ž ํ–‰๋™์— ๋ฐ˜์‘(ํด๋ฆญ, ํ‚ค๋ณด๋“œ ์ž…๋ ฅ ๋“ฑ)
  • ๋„คํŠธ์›Œํฌ ํ†ตํ•ด ์›๊ฒฉ ์„œ๋ฒ„์— ์š”์ฒญ ๋ณด๋ƒ„, ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ, ์—…๋กœ๋“œ(AJAX, COMET)
  • ์ฟ ํ‚ค ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ์„ค์ •, ์‚ฌ์šฉ์ž์—๊ฒŒ ์งˆ๋ฌธ์„ ๊ฑด๋„ค๊ฑฐ๋‚˜ ๋ฉ”์‹œ์ง€ ๋ณด์—ฌ์ฃผ๊ธฐ
  • ํด๋ผ์ด์–ธํŠธ ์ธก์— ๋ฐ์ดํ„ฐ ์ €์žฅ(๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€)

๋ธŒ๋ผ์šฐ์ €์—์„œ ํ•  ์ˆ˜ ์—†๋Š” ์ผ

๋ณด์•ˆ ์ด์Šˆ๋กœ ์ธํ•œ ๊ธฐ๋Šฅ ์ œ์•ฝ

  • ๋””์Šคํฌ์— ์ €์žฅ ๋œ ํŒŒ์ผ ์ ‘๊ทผ
  • ๋ธŒ๋ผ์šฐ์ € ๋‚ด ํƒญ๊ณผ ์ฐฝ์€ ์„œ๋กœ์˜ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜์ง€ ์•Š์Œ
  • ํƒ€ ์‚ฌ์ดํŠธ๋‚˜ ๋„๋ฉ”์ธ์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๊ธฐ

๊ฐ•์ 

  • HTML/CSS์™€ ์™„์ „ํ•œ ํ†ตํ•ฉ
  • ๊ฐ„๋‹จํ•˜๊ฒŒ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•œ ์˜์—ญ์ด ์žˆ์Œ
  • ๋ชจ๋“  ์ฃผ์š” ๋ธŒ๋ผ์šฐ์ €์˜ ๊ธฐ๋ณธ ์–ธ์–ด

ํŠธ๋žœ์ŠคํŒŒ์ผ ๊ฐ€๋Šฅ ์–ธ์–ด

  • CoffeScript: syntactic sugar. Ruby์™€ ํ˜ธํ™˜์„ฑ ์ข‹์Œ
  • TypeScript: ์ž๋ฃŒํ˜•์˜ ๋ช…์‹œํ™”. Microsoft ๊ฐœ๋ฐœ
  • Flow: ์ž๋ฃŒํ˜• ๊ฐ•์ œ. Facebook ๊ฐœ๋ฐœ
  • Dart: ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•„๋‹Œ ํ™˜๊ฒฝ์—์„œ ๋™์ž‘(๋ชจ๋ฐ”์ผ...). Google ๊ฐœ๋ฐœ

์š”์•ฝ

Keyword: HTML, CSS, ์›น ๋ธŒ๋ผ์šฐ์ €, ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด, ๋Ÿฐํƒ€์ž„, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„, node.js, ๋ฉ€ํ‹ฐ ํŒจ๋Ÿฌ๋‹ค์ž„, ํƒ€์ž…, ๋ฉ”๋ชจ๋ฆฌ

Javascript๋ž€ ์›นํŽ˜์ด์ง€์— ์ƒ๋™๊ฐ์„ ๋ถˆ์–ด๋„ฃ๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์–ธ์–ด๋กœ HTML๊ณผ CSS์™€ ์™„์ „ํ•œ ํ†ตํ•ฉ์„ ์ด๋ฃจ๋Š” ๊ฐ•์ ์„ ์ง€๋‹Œ๋‹ค.
์ฝ”๋“œ๋ฅผ ๊ธฐ๊ณ„์–ด๋กœ ๋ฐ”๊พธ๋Š” ์ปดํŒŒ์ผ ๊ณผ์ •์ด ์—†๊ธฐ์— ์‹คํ–‰ ์†๋„๊ฐ€ ๋А๋ฆฌ๊ณ , ๋Ÿฐํƒ€์ž„์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒ ํ•  ์œ„ํ—˜์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด์ด๋‹ค.
๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋ฐ ํƒ€์ž…์ถ”๋ก ์„ ์ž์ฒด์ ์œผ๋กœ ์–ธ์–ด์—์„œ ์ง€์›ํ•ด์ฃผ์–ด ์ฝ”๋”ฉ์„ ๋น„๊ต์  ํŽธํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์•ˆ์ •์„ฑ ๋ฐ ์„ฑ๋Šฅ์—์„œ ์ผ๋ถ€ ์†ํ•ด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
๋˜ํ•œ ํ•จ์ˆ˜ํ˜•, ๋ช…๋ นํ˜•, ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜์˜ ๊ฐ์ฒด ์ง€ํ–ฅํ˜•์ธ ๋ฉ€ํ‹ฐ ํŒจ๋Ÿฌ๋‹ค์ž„ ์–ธ์–ด์ด๋‹ค.
๋ชจ๋“  ์ฃผ์š” ๋ธŒ๋ผ์šฐ์ €๋“ค์„ ์ง€์›ํ•˜๋Š” ์—”์ง„์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ๋” ๋‚˜์•„๊ฐ€ node.js๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์žฅ์ ์„ ์ง€๋‹Œ๋‹ค.

reference
https://ko.javascript.info/intro#ref-18