#action Blog 블로그 ë”하기 ##Blog {{{#!blog hyacinth 2014-04-15T10:30:48 ìžë°”스í¬ë¦½íŠ¸ í‘œì¤€ì— ëŒ€í•œ ì •ë¦¬ 최근 ìžë°”스í¬ë¦½íŠ¸ê°€ í‘œì¤€ì´ ìƒˆë¡œ ë‚˜ì™”ë‹¤ê³ ì•Œê³ ìžˆì—ˆëŠ”ë° ëˆ„ê°€/어떻게 í‘œì¤€ì„ ì •í•˜ëŠ”ì§€ ë” ìžì„¸ížˆ 알기 위해 ìžë°”스í¬ë¦½íŠ¸ í‘œì¤€ì— ëŒ€í•´ ì •ë¦¬í–ˆë‹¤. ì´ ê¸€ì€ ìžë°”스í¬ë¦½íŠ¸ 표준, ECMAScript와 ìžë°”스í¬ë¦½íŠ¸, J스í¬ë¦½íŠ¸ë“¤ì˜ ê´€ê³„ì— ëŒ€í•œ 개요와 ë¹ ë¥¸ ì´í•´ë¥¼ 목표로 한다. === 들어가며 === ìžë°”스í¬ë¦½íŠ¸ì˜ í‘œì¤€ì€ '''ECMAScript'''ì„ ë§í•œë‹¤. ECMAScript는 Ecma ì¸í„°ë‚´ì…”ë„ì˜ ECMA-262 ê¸°ìˆ ê·œê²©ì— ì •ì˜ëœ 스í¬ë¦½íŠ¸ 언어다. Ecma ì¸í„°ë‚´ì…”ë„ì€ ì •ë³´ì™€ í†µì‹ ì‹œìŠ¤í…œì„ ìœ„í•œ êµì œì 비ì˜ë¦¬ 표준화 기구ì´ë‹¤. Ecma ì¸í„°ë‚´ì…”ë„ì€ 1994ë…„ European Computer Manufacturers Associationì—ì„œ êµì œì í™•ìž¥ì„ ìœ„í•´ 지금 ê°™ì´ ì´ë¦„ì´ ë°”ë€Œì—ˆë‹¤. í”히 ECMAScript를 ìžë°”스í¬ë¦½íŠ¸ ë˜ëŠ” J스í¬ë¦½íŠ¸ë¼ê³ ìƒê°í• 수 있지만 특별한 ì°¨ì´ê°€ 있다. ECMAScript와 ìžë°”스í¬ë¦½íŠ¸, J스í¬ë¦½íŠ¸ì˜ 관계를 ì´í•´í•˜ê¸° 위해서는 ECMAScriptì˜ ì—사를 알아야 한다. === 초기 모습 === 1996ë…„ 3ì›”, 넷스케ì´í”„는 넷스케ì´í”„ 네비게ì´í„° 2.0를 출시하면서부터 ìžë°”스í¬ë¦½íŠ¸ë¥¼ 지ì›í•˜ê¸° 시작했다. 웹 페ì´ì§€ ë™ìž‘ì„ í–¥ìƒì‹œí‚¤ëŠ” 언어로서 ìžë°”스í¬ë¦½íŠ¸ëŠ” 성공ì ì´ì—ˆê³ , 마ì´í¬ë¡œì†Œí”„트가 ì´ì™€ '''"ì 당히"''' 호환ë˜ëŠ” J스í¬ë¦½íŠ¸ë¥¼ 개발하는 계기가 ë˜ì—ˆë‹¤. J스í¬ë¦½íŠ¸ëŠ” 1996ë…„ 8ì›”, ì¸í„°ë„· ìµìŠ¤í”Œë¡œëŸ¬ 3.0ì— í¬í•¨ë˜ì–´ 출시ë˜ì—ˆë‹¤. 넷스케ì´í”„는 표준화를 위해 ìžë°”스í¬ë¦½íŠ¸ ê¸°ìˆ ê·œê²©ì„ Ecma ì¸í„°ë‚´ì…”ë„ì— ì œì¶œí•˜ì˜€ë‹¤. ì´ ê·œê²©ì— ëŒ€í•œ ìž‘ì—…ì€ ECMA-262ë¡œ ì´ë¦„ ë¶™ì—¬ì ¸ 1996ë…„ 11월부터 시작ë다. ECMAScript는 ECMA-262ì— ì˜í•´ í‘œì¤€í™”ëœ ì–¸ì–´ì˜ ì´ë¦„ì´ë‹¤. __ìžë°”스í¬ë¦½íŠ¸ì™€ J스í¬ë¦½íŠ¸ëŠ” ëª¨ë‘ ECMAScriptì™€ì˜ í˜¸í™˜ì„ ëª©í‘œë¡œ 한다.__ ê·¸ë¦¬ê³ ê°ìž ECMA ê·œê²©ì— í¬í•¨ë˜ì§€ 않는 확장 ê¸°ëŠ¥ì„ ì œê³µí•œë‹¤. === 현재 === 현재 ìžë°”스í¬ë¦½íŠ¸ì˜ ìµœì‹ í‘œì¤€ì€ ECMA-262 5.1íŒ(2011ë…„ 6ì›” 출íŒ)ì´ë‹¤. 2012ë…„ ì´í›„ ëª¨ë“ ë¸Œë¼ìš°ì €ëŠ” ECMAScript 5.1ì˜ ê¸°ëŠ¥ì„ ì „ë¶€ 지ì›í•œë‹¤. ì˜ˆì „ 브ë¼ìš°ì €ì˜ 경우 최소한 ECMAScript 3까지는 지ì›í•œë‹¤. ECMAScript 6는 현재 ìž‘ì—… 중ì´ë‹¤. === ê·¸ 외 ì´ì•¼ê¸° === ECMAScript 3íŒì€ 2001ë…„ 출íŒë˜ì—ˆê³ ECMAScript 5íŒì€ 2009ë…„ 출íŒë˜ì—ˆë‹¤. ECMAScript 4íŒì€ ì™„ì „ížˆ í¬ê¸°ë˜ì—ˆë‹¤(abandoned). ES4ê°€ ë²„ë¦¼ë°›ì€ ì´ìœ ì— ëŒ€í•´ì„œ... > Significant work was done to develop a fourth edition of ECMAScript. Although that work was not completed and not published as the fourth edition of ECMAScript, it informs continuing evolution of the language. The present fifth edition of ECMAScript (published as ECMA-262 5th edition) codifies de facto interpretations of the language specification that have become common among browser implementations and adds support for new features that have emerged since the publication of the third edition. > From the 5th edition specification([http://www.ecma-international.org/publications/standards/Ecma-262.htm]) ECMAScript 4는 2005ë…„ 10ì›” Brendan Eich(ìžë°”스í¬ë¦½íŠ¸ 발명ìžì´ìž 모질ë¼ì˜ CTO)ê°€ ì²˜ìŒ ìž‘ì—…ì„ ì œì•ˆí•˜ë©´ì„œ 진행ë˜ì—ˆë‹¤. ì´í›„ Microsoft와 Adobe(ì•¡ì…˜ 스í¬ë¦½íŠ¸)ê°€ ì°¸ì—¬í•˜ê³ ë³€ê²½í•˜ëŠ” í‘œì¤€ì˜ ì–‘ì´ ì»¤ì§€ìž ê²©ë ¬í•œ ë…¼ìŸì´ 있었다. 특히 ë…¼ìŸì´ ë˜ëŠ” ë¶€ë¶„ì€ ìžë°”스í¬ë¦½íŠ¸ë¥¼ ì „í†µì ì¸ ê°ì²´ 지향 언어로 ë°”ê¾¸ë ¤ëŠ” ì‹œë„였다. ([http://channy.creation.net/blog/454] ES4 ë’· ì´ì•¼ê¸°.) Ecma는 êµì°© ìƒíƒœë¥¼ 해결하기 위해 2008ë…„ 7ì›” 오슬로ì—ì„œ 위ì›íšŒë¥¼ ì—´ì—ˆê³ ì—¬ê¸°ì„œ 4가지로 요약ë˜ëŠ” 중요한 ê²°ì •ì´ ìžˆì—ˆë‹¤[[footnote(http://www.2ality.com/2011/06/ecmascript.html)]]. 1. 숫ìžê°€ ì¦ê°€ëœ ECMAScript를 개발한다. 2. 새로운 릴리즈는 ECMAScript 4보다는 í¬ì§€ ì•Šì€, ECMAScript 3보다는 í° ë²”ìœ„ì—ì„œ 개발한다. ì´ ë²„ì „ì€ ì½”ë“œë„¤ìž„ "Harmony"ë¼ê³ ì´ë¦„ 짓는다. ì´ê²ƒì€ ìžì—°ìŠ¤ëŸ½ê²Œ ì´ë¦„ 그대로 (조화로운) ë¯¸íŒ…ì´ ì´ë£¨ì–´ì§ˆ 수 있ë„ë¡ ìžˆê²Œ 하기 위함ì´ë‹¤. 3. ECMAScript 4ì˜ packages, namespace, early binding ê¸°ëŠ¥ì€ ì œê±°í•œë‹¤. 4. 다른 ì•„ì´ë””어는 Ecma ê¸°ìˆ ìœ„ì›íšŒ 39(TC39) êµ¬ì„±ì› ëª¨ë‘와 í•©ì˜í•˜ì—¬ 개발ëœë‹¤. 기본ì 으로, ìžë°”스í¬ë¦½íŠ¸ê°€ ë°œì „í•˜ëŠ”ë° êµ‰ìž¥ížˆ ë§Žì€ ê°•í•œ ì˜ê²¬ë“¤ì´ 있었ìŒì„ ì´í•´í•´ì•¼ 한다. ê·¸ë¦¬ê³ ìƒˆë¡œìš´ í‘œì¤€ì´ ë‚˜ì˜¤ëŠ” 게 너무나 너무나 늦었다. ì´ë¯¸ 주요 브ë¼ìš°ì €ëŠ” ECMAScript 4ì— í¬í•¨ë 것ë¼ê³ ìƒê°í•œ 비표준 í™•ìž¥ë“¤ì´ ìžˆì—ˆë‹¤[[footnote(http://stackoverflow.com/questions/2329602/why-was-ecmascript-4th-edition-completely-scrapped)]]. Brendan Eich와 Ecma, ê·¸ë¦¬ê³ ê´‘ë²”ìœ„í•œ 기여ìžë“¤ì€ ì´ë¥¼ ì •ë¦¬í•˜ëŠ”ë° í•¨ê»˜í–ˆê³ Brendan Eich는 ì´ë¥¼ "Harmony" ì ‘ê·¼ì´ë¼ê³ ì´ë¦„ 지었다(2번 사í•)[[footnote(https://mail.mozilla.org/pipermail/es-discuss/2008-August/003400.html)]]. 모질ë¼, Microsoft, Adobe 등 ê°ìž ì´í•´ê´€ê³„를 가진 진ì˜ë“¤ê³¼ í•©ì˜í•˜ëŠ”ë° ì–¼ë§ˆë‚˜ ë§Žì€ ê³ ì¶©ì´ ìžˆì—ˆëŠ”ì§€ ì´í•´í• 수 있다. Brendan Eich는 ì´ ì—¬ì •ì„ í”¼í„° ìžìŠ¨ì˜ ë°˜ì§€ì˜ ì œì™•ì— ë¹„êµí–ˆë‹¤([http://www.flickr.com/photos/equanimity/4055151876/in/set-72157622684659298/]). 1995ë…„ ìžë°”스í¬ë¦½íŠ¸ê°€ 탄ìƒí•œ ì´í›„, ìžë°”스í¬ë¦½íŠ¸ë¥¼ 브ë¼ìš°ì € ë°–ì—ì„œë„ ì‚¬ìš©í•˜ë ¤ëŠ” ë…¸ë ¥ì´ ëŠìž„ì—†ì´ ì´ì–´ì ¸ 왔다. 대표ì ì¸ í”„ë¡œì 트로 Helma, AppJet, Jaxer, Persever, Cappucino, Rhino ë“±ì´ ìžˆì§€ë§Œ í° ì„±ê³µì„ ê±°ë‘진 ëª»í•˜ê³ ìžˆë‹¤. === ì°¸ê³ === }}} [[HTML(<center>)]] http://hyacinth.byus.net/img/flower.jpg [[HTML(</center>)]]