[JS] JavaScript Engine

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„

 

์ž๋น„์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑํ•˜๊ณ  ํ•ด์„ํ•ด์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๋˜๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ํ•œ์ค„์”ฉ ์ฝ์–ด๊ฐ€๋ฉฐ ์ปดํ“จํ„ฐ๊ฐ€ ์•Œ์•„๋“ค์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

* ํ”„๋กœ๊ทธ๋žจ: ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ช…๋ น์–ด๋“ค์˜ ์ง‘ํ•ฉ

* ์ธํ„ฐํ”„๋ฆฌํ„ฐ: ์ฝ”๋“œ๋ฅผ ํ•œ์ค„์”ฉ ๋‚ด๋ ค๊ฐ€๋ฉฐ ๋ช…๋ น์–ด ์ฒ˜๋ฆฌ

 


์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„ ์›๋ฆฌ

 

์—”์ง„์€ ๋ฉ”๋ชจ๋ฆฌ ํž™๊ณผ ํ˜ธ์ถœ ์Šคํƒ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

ํ˜ธ์ถœ ์Šคํƒ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ ์ค‘์ธ ์ฝ”๋“œ์˜ ํ๋ฆ„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

๋ฉ”๋ชจ๋ฆฌ ํž™

- ๋™์ ์œผ๋กœ ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ณต๊ฐ„

- ๊ฐ์ฒด, ํ•จ์ˆ˜, ๋ฐฐ์—ด ๋“ฑ์ด ํ• ๋‹น

- ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ž๋™์œผ๋กœ ๊ด€๋ฆฌ

 

ํ˜ธ์ถœ ์Šคํƒ

- ํ•จ์ˆ˜ ํ˜ธ์ถœ ๊ด€๋ จ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„

- ํ•จ์ˆ˜ ํ˜ธ์ถœ => ํ˜ธ์ถœ ์Šคํƒ์— ์ถ”๊ฐ€ => ํ•จ์ˆ˜ ์‹คํ–‰ ์™„๋ฃŒ => ํ˜ธ์ถœ ์Šคํƒ์—์„œ ์ œ๊ฑฐ

 


์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์˜ ์ข…๋ฅ˜

 

  • V8 : ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ตฌ๊ธ€์—์„œ ๊ฐœ๋ฐœ / C++๋กœ ๊ฐœ๋ฐœ / ๊ตฌ๊ธ€ ํฌ๋กฌ๊ณผ Node.js์—์„œ ์‚ฌ์šฉ
  • SpiderMonkey : ์ตœ์ดˆ์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„ / ๋„ท์Šค์ผ€์ดํ”„์—์„œ ๊ฐœ๋ฐœ / ๋ชจ์งˆ๋ผ ํŒŒ์ด์–ดํญ์Šค์—์„œ ์‚ฌ์šฉ
  • JavaScriptCore: ์˜คํ”ˆ์†Œ์Šค / ์‚ฌํŒŒ๋ฆฌ์—์„œ ์‚ฌ์šฉ
  • Chakra(JavaScript) : ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์—ฃ์ง€์šฉ
  • Chakra(Jscript9) : ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ์šฉ
  • Rhino : ๋ชจ์งˆ๋ผ ์žฌ๋‹จ์—์„œ ์šด์˜ / ์˜คํ”ˆ์†Œ์Šค / ์ž๋ฐ”๋กœ ๊ฐœ๋ฐœ
  • Nashron : ์˜คํ”ˆ์†Œ์Šค / racle Java Languages and Tool Group์ด ๊ฐœ๋ฐœ
  • JerryScript : ์‚ฌ๋ฌผ์ธํ„ฐ๋„ท์„ ์œ„ํ•œ ๊ฒฝ๋Ÿ‰ ์—”์ง„

'โ˜€๏ธFront-End > ๐Ÿ“—JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JS] ResizeObserver  (0) 2024.12.09
[JS] Web Worker  (0) 2024.11.18
[JS] var, let, const  (0) 2024.02.22
[JS] ECMAScript  (0) 2023.10.17
[JS] JavaScript  (1) 2023.05.31