๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ

JavaScript์˜ ์—ญ์‚ฌ

category ๐ŸŒ• Front/๐Ÿ“‘ Web Theory 2021. 3. 10. 16:41

์ถœ์ฒ˜: www.youtube.com/watch?v=wcsVjmHrUQg&t=629s

 

๋ชจ์ž์ดํฌ ์›น ๋ธŒ๋ผ์šฐ์ € ๋“ฑ์žฅ

 

Netscape: UI ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•œ ์ •์ ์ธ ํŽ˜์ด์ง€ ๋“ฑ์žฅ

์‹œ์žฅ ์ ์œ ์œจ 80%๋ฅผ ์ž๋ž‘ํ–ˆ๋‹ค.

 

Script์–ธ์–ด ์ถ”๊ฐ€๋ฅผ ์ถ”๊ฐ€ํ•œ ๋™์ ์ธ ํŽ˜์ด์ง€ ๋“ฑ์žฅ

Java๋Š” ๋ฌด๊ฒ๊ณ  ์–ด๋ ค์›Œ์„œ ์Šคํ‚ด ์–ธ์–ด๋กœ ์„ ํƒ

 

Netscape Navigator์•ˆ์— LiveScript๋ฅผ ์ดํ•ดํ•˜๋Š” ์—”์ง„(LiveScript Inrepreter)์„ ํƒ์žฌํ•จ.

๋ผ์ด๋ธŒ์Šค๋ธŒ๋ฆฝํŠธ ์–ธ์–ด๊ฐ€ ๋” ์š”์†Œ๋ฅผ ์กฐ์ž‘ํ•จ.

 

์ž๋ฐ”์˜ ์ธ๊ธฐ์— ์˜ฌ๋ผํƒ€์„œ ์ด๋ฆ„์„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ผ๊ณ  ์ง€์Œ

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์„ฑ๊ณต์— ์œ„๊ธฐ๊ฐ์„ ๋А๋‚€ MS๊ฐ€ ์—ญ๊ณตํ•™์„ ํ†ตํ•ด IE๋ฅผ ๋งŒ๋“ ๋‹ค.

 

๊ทธ๋Œ€๋กœ ๋ฐฐ๋‚€ ์–ธ์–ด๋ฅผ JScript๋ผ๊ณ  ์ด๋ฆ„๋ฐ”๊ฟ” ์‹œ์žฅ์— ๋‚ด๋†“๋Š”๋‹ค.

IE์™€ ๋„ท์Šค์ผ€์ดํ”„ ๋ธŒ๋ผ์šฐ์ € IE๋ธŒ๋ผ์šฐ์ € ๊ฐ„์— ํ˜ธํ™˜๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค.

 

ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ‘œ์ค€์•ˆ(ECMA)์„ ๋งŒ๋“ ๋‹ค.

 

EcmaScript1: ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ž‘ํ•˜๋Š” ์–ธ์–ด์˜ ๋ฌธ๋ฒ•์‚ฌํ•ญ์„ ๊ฐ€๋ฅดํ‚ค๋Š” ๋ฌธ์„œ

 

ECMA4๋ถ€ํ„ฐ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ class์™€ ๊ฐ™์€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ํƒ‘์žฌํ•˜๋ ค๋Š” ์‹œ๋„๊ฐ€ ์žˆ์—ˆ๋‹ค.

 

์ ์œ ์œจ 95%์˜ IE

 

์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๊ฐ€ ๋ฌด๊ฑฐ์›Œ์ง€๋ฉด ๋ณ„๋กœ๋ผ๋Š” IE

 

 IE๊ฐ€ ํ‘œ์ค€์ด๋ผ๊ณ  ์ฃผ์žฅํ•˜๋ฉฐ ECMAํ‘œ์ค€์„ ๋”์ด์ƒ ๋”ฐ๋ฅด์ง€ ์•Š๋Š”๋‹ค.

 

ํŒŒ์ด์–ดํญ์Šค๊ฐ€ ๋‹ค์‹œ ํ‘œ์ค€์•ˆ์„ ๊ฒ€ํ† ํ•ด๋ณด์ž๊ณ  ์ œ์•ˆํ•œ๋‹ค

 

ํ‘œ์ค€ํ™”๋ฅผ ์•ž๋‘๊ณ  3์‚ฌ๊ฐ€ ์น˜์—ดํ•˜๊ฒŒ ๊ณต๋ฐฉ์ „์„ ํ•จ

 

๊ทธ์™€์ค‘์— AJAX๊ธฐ์ˆ  ์ถœ์‹œ

 

ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ๋‹ค์–‘ํ•œ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž‘๋™ํ•˜๋Š” ์›น ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“œ๋Š” ์ˆ˜๊ณ ๊ฐ€ ๋งŽ์•˜๋‹ค.

 

์›น ์‹œ์žฅ์˜ ์ˆ˜์š”๊ฐ€ ๋งŽ์•„์ง€๋ฉด์„œ ๊ฐ•๋ ฅํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

 

๋ธŒ๋ผ์šฐ์ €์™€ ์ƒ๊ด€์—†์ด ๊ธฐ๋Šฅํ•˜๋Š” ์›น ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋„์™€์ฃผ๋Š” jQuery์™€ ๊ฐ™์€ API๊ฐ€ ์„ฑํ–‰ํ•œ๋‹ค.

 

JIT๊ธฐ์ˆ ์„ ํƒ‘์žฌํ•œ ํฌ๋กฌ๋ธŒ๋ผ์šฐ์ € ์ถœ์‹œ๋œ๋‹ค.

 

๊ทธ๋ ‡๊ฒŒ ๋‹ค์‹œ ๋ธŒ๋ผ์šฐ์ € 4์‚ฌ๊ฐ€ ํ‘œ์ค€์•ˆ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋ชจ์ธ๋‹ค.

 

๋ธŒ๋ผ์šฐ์ €๊ฐ„์˜ ํ‘œ์ค€ํ™” ์„ฑ๊ณต์œผ๋กœ ๋”์ด์ƒ jQuery๋Š” ํ•„์š” ์—†์–ด์ง„๋‹ค.

 

๊ทธ๋ ‡๊ฒŒ ECMAScript๋Š” ๊ณ„์† ๋ฐœ์ „ํ•ด๊ฐ„๋‹ค.

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ํ˜„์žฌ ์„œ๋ฒ„๋„ ๊ตฌ์ถ•ํ•˜๊ณ  ๋ฐ์Šคํฌํƒ‘ ์—ํ”Œ๋ฆฌ์ผ€์ด์…˜๋„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๋กœ ์„ฑ์žฅํ•˜๊ณ  ์žˆ๋‹ค.

 

๊ฐœ๋ฐœํ•  ๋•Œ๋Š” ์ตœ์‹ ๋ฒ„์ „์˜ ECMA๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ , ๋ฐฐํฌํ•  ๋•Œ๋Š” ์•ˆ์ •์ ์ธ ๊ตฌ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ”๋ฒจ์„ ์‚ฌ์šฉํ•œ๋‹ค.

 

๋ฐ˜์‘ํ˜•