جاڤاسکریپت

لە ئینسایکڵۆپیدیای ئازادی ویکیپیدیاوە
Jump to navigation Jump to search
جاڤاسکریپت
پارادایم فرەپارادایم: تەنخواز (لەسەر بنچینەی پرۆتۆتایپ), فرمانی, فەنکشنەڵ, بەڕووداو پاڵنراو[١]
داڕێژەر براندن ئایک
پەرەپێدەر کۆمپانیای گەیاندنی نێتسکەیپ, دامەزراوەی مۆزیلا, ئێکمە ئینتەرناشناڵ
یەکەم دەرکەوتن ٤ کانوونی یەکەم، ١٩٩٥؛ ٢٢ ساڵ لەمەوبەر (١٩٩٥-١٢-٠٤)[٢]
وەشانی جێگیر
ECMAScript 2017[٣] / حوزەیران ٢٠١٧؛ ١ ساڵ لەمەوپێش (٢٠١٧-٠٦)
جۆری دراو (تایپ) بزۆک, قاز
پاشگری پەڕگە
وێبگە Mozilla
Major implementations
V8, JavaScriptCore, ڕاینۆ, سپایدەر مەنکی, Chakra
کاریگەربووە بە
لوا, سکیم, پێرڵ, سێڵف, جاڤا, سی, پایتن, AWK, ھایپەرتۆک
کاری کردۆتە
ئاکشنسکریپت, ئاتسکریپت, کۆفیسکریپت, دارت, جەی سکریپت دۆت نێت, لایڤسکریپت, ئۆبجێکتڤ جەی, ئۆپا, پێرڵی ٦, QML, تایپسکریپت

جاڤاسکریپت (بە ئینگلیزی: JavaScript) زۆرجار لە ئینگلیزیدا کورت دەکرێتەوە بۆ JS - جەی ئێس، بریتییە لە زمانێکی پرۆگرامکردنی ئاستبەرز، فەنکشناڵ و وەرگێڕدراو. تایبەتمەندێتییەکانی ئەم زمانە ئەوەیە کە جوڵاوە، جۆری دراوی بێھێزە (واتە دەتوانی دراوێک بناسێنی بە ژمارە بەڵام بە ئاسانی 'ھێزی' لێ بکەی ببێتە 'نووسە')، پشت بە پرۆتۆتایب دەبەستێ (لە ئۆ ئۆ دا) و فرەپارادایمە (فرە شێوازی داڕشتنە). جاڤاسکریپت بریتییە لە یەکێک لە سێ پێکھێنەری سەرەکی تۆڕی جیھانی ئینتەرنێت، (CSS, HTML)دوانەکەی ترن.[٥] جاڤاسکریپت لە بنەمادا زمانی پرۆگرامکردنە لەسەر وێبگەڕ، بەڵام بە دروستکردنی نۆد.جەی ئێس دەکرێت لەسەر ڕاژەکار و سیستمەکانی کارگێڕی وەگەڕخرێت.

وەک ھەر زمانێکی فرە پارادایم، جاڤاسکریپت پاڵپشتی دەکات لە بەرنامەسازیی فرمانی (لەنێویاندا تەنخواز و لەسەر بنچینەی پرۆتۆتایپفەنکشنەڵ، بەڕووداو پاڵنراو. جاڤاسکریپت خاوەنی ناوبەستی بەرنامەسازیی بەرنامەی بەکاربەرییەکی تایبەتە بۆ کارکردن لەگەڵ دەق، ڕیز، ڕێگولەر ئیکسپرێشن، وە ھەروەھا قۆزتنەوەیەکی سەرەتایی دۆم بەڵام زمانەکە لەخۆیدا ھیچ تێکردن/دەرخستەیەکی وەکوو ڕایەڵە، کۆگا، کەرەستەکانی گرافیک لەخۆ ناگرێت بەڵکو پشت بەستوو بە ژینگەی ئەو خانەخوێیەی کە لەخۆی دەگرێت.

ئەگەرچی لەسەرەتاوە جاڤاسکریپت بەتەنھا جێبەجێ کردنی لایەنی ڕاژەخوازی لەسەر وێبگەڕ ھەبوو، بەڵام لەئێستادا تێکەڵ کراوە لەگەڵ گەلێک جۆری جیاواز لە خانەخوێی نەرمامێر، لەنێویشیاندا لایەنی ڕاژەکار لەسەر ڕاژەکاری وێب و بنکەی دراوە، ھەروەھا لە بەرنامەکانی دیکەدا کە بەرنامەی وێب نین، لەوانە بەرنامەکانی چارەسەرکردنی وشە و PDF، ئەمە جگە لە بەکارھێنانی لە ژینگەکانی runtime دا کە ڕێگە دەدەن بە نووسینی بەرنامە بۆ مۆبایل و دێسکتۆپ.

ھەرچەندە لێکچوونی ڕواڵەتیی بەھێز ھەیە لە نێوان جاڤاسکریپت و جاڤادا، لەنێویاندا ناو زمانەکە، سینتاکس، و گورزە ستانداردەکان، کەچی ئەو دوو زمانە لە ناوەڕۆکدە بەتەواوەتی لەیەک جیاوازن بەتایبەتی لەڕووی دیزاینەوە؛ جاڤاسکریپت کاریگەر بووە بە زمانەکانی وەک سێڵف و سکیم.[٦]

مێژوو[دەستکاری]

سەرەتاکان لە نێتسکەیپ[دەستکاری]

لە ١٩٩٣ دا، سەنتەری نیشتمانی بۆ سوپەرکمپیوتینگ ئاپڵیکەیشنز (NCSA)، کە یەکەیەک بوو لە زانکۆی ئیلینۆی لە ئێربانا–شەمپەین، بەرنامەی NCSA Mosaicی دەرکرد کە یەکەم وێبگەڕی بەربڵاوی نیگارەیی بوو کە ڕۆلێکی گرنگی ھەبوو لە گەشەپێدانی بەربڵاوی تەونی بەربڵاوی جیھانیدا. لە ١٩٩٤ دا، کۆمپانیایەکە بەناوی مۆزایک کۆمینویکەشنز دامەزرا لە ماونت ڤیو، کالیفۆرنیا کە زۆرینەی نووسەرەکانی NCSA Mosaic بەکرێ گرتەوە بۆ درووستکردنی مۆزایک نێتسکەیپ. بەڵام بەقەستی ھیچ کۆدێکیان لەگەڵ NCSA Mosaic دا ھاوبەشی نەدەکرد. ناوی ناوخۆیی بۆ وێبگەڕی کۆمپانیاکە "مۆزیلا" بوو، کە کورتکراوەی "Mosaic killer" بوو ئەمەش لەبەرئەوەی ئامانجی کۆمپانیاکە ئەوە بوو کە NCSA Mosaic وەک وێبگەڕی ژمارەیەکی جیھان بھێننە خوارەوە. یەکەم وەشانی وێبگەرەکە، مۆزایک نێتسکەیپ ٠٫٩، لە کۆتایی ١٩٩٤ دا بڵاوکرایەوە. لەماوەی ٤ مانگدا توانی سێ چارەکی بازاڕی وێبگەڕ بۆخۆی داگیر بکات و بەوەش بووە وێبگەڕی سەرەکی ٩٠ەکان. لەپێناو خۆپاراستن لە کێشەی خاوەندارێتی ترەیدمارک لەگەڵ NCSA، وێبگەڕەکە ناوەکەی گۆڕدرا بۆ Netscape Navigator لەھەمان ساڵدا و کۆمپانیاکەش ناوی گۆڕدرا بۆ Netscape Communications. کۆمپانیاکە دەیزانی کە وێب پێویستی بەوە ھەیە کە لەوە زیاتر بزۆک بێت. مارک ئاندریسن، کە دامەزرێنەری کۆمپانیاکە بوو، باوەڕی وابوو کە HTML پێویستی بە زمانێک ھەیە کە چەسپی بکات و گرێ بدات بەیەکەوە بەڵام بەمەرجێک کە ئاسان بێت لەڕووی بەکارھێنانەوە بۆ دیزاینەرەکان و پرۆگرامەرەکان.

لە ١٩٩٥دا، نێتسکەیپ براندن ئایکی دامەزراند بەو ئامانجەوە کە زمانی سکیم تێکەڵ بکات لەگەڵ نێتسکەیپ ناڤیگەیتەر.[٧] بەر لەوەی دەست بەکار ببێت، نێتسکەیپ کۆمیونیکەیشنز ھەماھەنگی دەست پێ کرد لەگەل سەن مایکرۆسیستەمز تاوەکو زمانی جاڤای مایکرۆسیستەمز تێکەڵ بە نێتسکەیپ ناڤیگەیتەر بکات، ئەمەش لەپێناو کێبڕکێ کردن لەگەڵ مایکرۆسۆفت بۆ لەخۆگرتنی تەکنەلۆجیای وێب لەلایەن بەکارھێنەرەوە.[٨] نێتسکەیپ کۆمیونیکەیشنز دوتر بڕیاری دا کە ئەو زمانی سکریپتسازییەی کە دەیانەوێت درووستی بکەن پێویستە تەواوکەری جاڤا بێت و لەڕووی سینتاکسەوە لەیەک نزیک بن، ئەمەش وای کرد کە لەخۆ گرتی زمانەکانی وەک پێڕڵ و پایتن و تیکڵ و سکیم بخرێتە لاوە. بۆ بەرگریکردن لە بیرۆکەی جاڤاسکریپت لەدژی پێشنیارە کێبڕکێکارەکان، کۆمپانیاکە پێویستی بەنموونەیەکی سەرەتایی ھەبوو. ئایک نموونەیەکی سەرەتایی لە ماوەی ١٠ ڕۆژدا ئامادەکرد، لە مایسی ١٩٩٥ دا.

ئەگەرچی زمانەکە لەژێر ناوی مۆکا (Mocha) دا پەرەی پێ دەدرا، دواتر بەفەرمی ناوەکەی گۆڕدرا بۆ لایڤسکریپت (LiveScript) لەپاش ئەوەی کە بارکرا بۆ وەشانی بێتای نێتسکەیپ ناڤیگەیتەر ٢.٠ لە ئەیلوولی ١٩٩٥ دا بەڵام دوایی ناونرا جاڤاسکریپت پاش بارکردن بۆ وەشانی بێتای نێتسکەیپ ناڤیگەیتەر ٣ لە کانوونی یەکەمدا.[٩] دوا ھەڵبژاردەی ناوەکە بووە ھۆی سەرلێ تێکچوون، ئەوەش بەھۆی ئەوەی وا دەردەکەوت کە لەڕێلادەر (Spin-off)ێک بێت لە زمانی بەرنامەسازی جاڤا. ئەو ھەڵبژاردەیە دواتر وەسفکرا[١٠] وەک بازاڕبۆکردنێک لەلایەن نێتسکەیپەوە بۆ جاڤاسکریپت و پێ ناساندنی وەک زمانە نوێیە گەرم و گوڕەکەی وێب.

بەھەڵە تێگەیشتنێکی باو ھەیە کە گوایە جاڤاسکریپت کاریگەر بووە بە زمانێکی سکریپتسازی وێبی پێشووتر بەناوی Cmm ەوە کە پەرەی پێدرا بوو لەلایەن نۆمباسەوە (کەجیاوازە لە سی ماینەس ماینەس کە لە ١٩٩٧ دا درووستکرا). [١١][١٢] براندن ئایک ھەرگیز Cmmی نەبیستبوو بەر لە درووستکردنی LiveScript.[١٣].

جاڤاسکریپتی لای ڕاژەکار[دەستکاری]

لە کانوونی یەکەمی ١٩٩٥دا و لەپاش دەرچوونی جاڤاسکریپت بۆ وێبگەڕەکان، نێتسکەیپ جێبەجێکردنێکی نوێی جاڤاسکریپتی بۆ بەرنامەسازی لای ڕاژەکار ناساند لەڕێگەی نێتسکەیپ ئینتەرپرایز سێرڤەر.[١٤]

لە ١٩٩٦ەوە، ڕاژەکاری ئای ئێس ئێسی وێب پاڵپشتی دەکات لە جێبەجێکردنەکەی مایکرۆسۆفت بۆ جاڤاسکریپتی لای ڕاژەکار، کە پێی دەوترێت جەیسکریپت. [١٥]

لە ناوەڕاستی ٢٠٠٠ەکانەوە، جاڤاسکریپت لەلای ڕاژەکاری دیکە بەردەستە، لەنێویاندا نۆد.جەی ئێس کە لە ٢٠٠٩ دا ناسێنرا. [١٦]

گرتنەخۆ لەلایەن مایکرۆسۆفتەوە[دەستکاری]

تەکنەلۆجیاکانی سکریپتسازیی مایکرۆسۆفت و لەنێویانداا ڤیبیسکریپت و جەیسکریپت لە ١٩٩٦ دا دەرچوون. جەی سکریپت، کە جێبەجێ کردنێکی ئەندازیاریی ھەڵگەڕاوە (Reverse Engineering)ی جاڤاسکریپتەکەی نێتسکەیپە، بەشێک بووە لە ئینتەرنێت ئێکسپلۆرەر ٣. جەیسکریپت ھەروەھە بەردەستیش بووە بۆ سکریپتسازی لایەنی ڕاژەکار لەسەر ئای ئێس ئێس. ئینتەرنێت ئێکسپلۆرەر ٣ پاڵپشتی مایکرۆسۆفتی بۆ CSS و بەشێک لە درێژکراوەکانی HTML لەخۆ دەگرن، بەڵام لەھەموو ئەمانەدا جێبەجێکردنەکە بەئاشکرایی جیاواز بوو لەوەی نێتسکەیپت.[١٧][١٨] ئەو جیاوازیانە وای دەکرد کە کاری دیزاینەران و پرۆگرامسازان گەلێک قورس بێت بەتایبەتی لەکاتی درووستکردنی مالپەرێکدا کە لەسەر ھەردوو وێبگەڕەکە بە تەواوی کاری بکردایە. ئەمە بووە ھۆی دەرکەوتنی لۆگۆکانی وەک "باشتر کاردەکات لەسەر ئینتەرنێت ئێکسپلۆرەر" و "باشتر کاردەکات لەسەر نێتسکەیپ" کە نموونەی سەرەتاکانی شەڕەکانی وێبگەڕ. [١٩] جاڤاسکریپت تۆز تۆز بووە خاوەنی ناوبانگێک بۆ وێبێکی سەکۆبڕ و بنەماستاندارد. ھەندێک پەرەپێدەر توانیان وابکەن ماڵپەرەکانیان لەسەر ھەردووک وێبگەڕ بخەنە کار بەڵام زۆرێک ھەبوون کە سەرکەوتوو نەبوون لەو کارەدا. دوابەدوای دەرچوونی ئینتەرنێت ئێکسپلۆرەر ٤، مایکرۆسۆفت بیرۆکەی ئەیچ تی ئێم ئێڵی بزۆکی خستەڕوو، بەڵام ھێشتا جیاوازی جێبەجێکردنەکان و جیاوازی لە مۆدێلی بەڵگەنامەیی تەن وەک خۆیان مانەوە و بوونە تەگەرەی سەرەکیی و ھۆکاری سەرەکیی باربڵاوبوونی جاڤاسکریپت لەسەر وێب[١٧].

سینتاکس[دەستکاری]

یەکێ لە کێشە گەورەکانی جاڤاسکریپت، فرەیی شێوازی نووسینی کۆدە. لەبەر بڵاوی جاڤاسکریپت ستاندارد دانرا بۆ زمانەکە بۆ ھاوکاریکردنی ئاڵوگۆڕی کۆد و پەرەپێدانی مەکینە و پرۆگرامی زیاتر بۆ جاڤاسکریپت. یەکێک لەو ستانداردانە بریتییە لە ECMAScript.

نموونەی کۆد[دەستکاری]

ئەمەی خوارەوە نموونەی پرۆگرامی "ھەلەو وێڵد"ە لە جاڤاسکریپت. لەبەرئەوەی جاڤاسکریپت لە وێبگەڕ کار دەکات تەنیا جێگایەک "دەرھاویشت"ەی کۆدی تێدا دەرکەوێت بریتییە لە "کۆنسۆڵ"ی وێبگەڕ.

console.log("Hello World!");

نمونەی ئاڵۆزتر: ئەمەی خوارەوە بریتیە لە "فەنکشن"ێکی ڕیکێرسیڤ (خۆبارکەرەوە):

function factorial(n) {
    if (n === 0) {
        return 1;  // 0! = 1
    }
    return n * factorial(n - 1);
}

factorial(3); // ئەنجامەکە 6
// چۆن کار دەکات؟ ٣ جار خۆی بانگ دەکاتەوە. ٣ جاران ٢ جاران ١ چونکە کە بوو بە سفر نرخەکە ١ـە

سەرچاوەکان[دەستکاری]

  1. ^ Flanagan ٢٠١١، پ. ١–٢.
  2. ^ Press release announcing JavaScript, "Netscape and Sun announce JavaScript", PR Newswire, December 4, 1995
  3. ^ "Standard ECMA-262". Ecma International. ٢٠١٧-٠٧-٠٣. 
  4. ^ [١], node.js ECMAScript Modules Specification
  5. ^ Flanagan، David (٢٠١١). JavaScript - The definitive guide. پەڕەکان ١. 
  6. ^ "ECMAScript Language Overview" (PDF). ٢٠٠٧-١٠-٢٣. پەڕە ٤. لە ڕەسەن (PDF)ەوە ئرشیڤ کراوە لە ٢٠١٠-٠٧-١٣. لە ڕێکەوتی ٢٠٠٩-٠٥-٠٣ ھێنراوە. 
  7. ^ "Chapter 4. How JavaScript Was Created". 
  8. ^ Severance، Charles (February 2012). "JavaScript: Designing a Language in 10 Days". Computer. IEEE Computer Society. 45 (2): 7–8. doi:10.1109/MC.2012.57. لە ڕێکەوتی ٢٣ ئازار ٢٠١٣ ھێنراوە. 
  9. ^ "TechVision: Innovators of the Net: Brendan Eich and JavaScript". web.archive.org. لە ڕەسەنەوە ئرشیڤ کراوە لە 2008-02-08. 
  10. ^ Fin JS (2016-06-17)، Brendan Eich - CEO of Brave، لە ڕێکەوتی 2018-02-07 ھێنراوە 
  11. ^ "The History of Programming Languages". oreilly.com. O'Reilly Media. 2004. لە ڕەسەنەوە ئرشیڤ کراوە لە 2016-07-12. لە ڕێکەوتی ١٦ تەممووز ٢٠١٦ ھێنراوە. 
  12. ^ "What Is JavaScript?" (PDF). wiley.com. Wiley. لە ڕێکەوتی ١٦ تەممووز ٢٠١٦ ھێنراوە. 
  13. ^ Noorda، Brent (21 September 2013). "Brent Noorda's Answers on ECMA". quora.com. لە ڕێکەوتی ١٦ تەممووز ٢٠١٦ ھێنراوە. 
  14. ^ Netscape Communications Corporation (11 December 1998). "Server-Side JavaScript Guide". oracle.com. Netscape Communications Corporation. لە ڕێکەوتی 2016-07-16 ھێنراوە. 
  15. ^ Clinick، Andrew (July 14, 2000). "Introducing JScript .NET". Microsoft Developer Network. Microsoft. لە ڕێکەوتی ١٠ نیسان ٢٠١٨ ھێنراوە. [S]ince the 1996 introduction of JScript version 1.0 ... we've been seeing a steady increase in the usage of JScript on the server—particularly in Active Server Pages (ASP) 
  16. ^ Mahemoff, Michael (17 December 2009). "Server-Side JavaScript, Back with a Vengeance". readwrite.com. لە ڕێکەوتی 2016-07-16 ھێنراوە. 
  17. ^ a b Champeon، Steve (6 April 2001). "JavaScript, How Did We Get Here?". oreilly.com. لە ڕەسەنەوە ئرشیڤ کراوە لە 2016-07-19. لە ڕێکەوتی ١٦ تەممووز ٢٠١٦ ھێنراوە. 
  18. ^ "Microsoft Internet Explorer 3.0 Beta Now Available". microsoft.com. Microsoft. 29 May 1996. لە ڕێکەوتی ١٦ تەممووز ٢٠١٦ ھێنراوە. 
  19. ^ McCracken، Harry (16 September 2010). "The Unwelcome Return of "Best Viewed with Internet Explorer"". technologizer.com. لە ڕێکەوتی ١٦ تەممووز ٢٠١٦ ھێنراوە.