From Wikipedia, the free encyclopedia
جاڤاسکریپت (بە ئینگلیزی: JavaScript) زۆرجار لە ئینگلیزیدا کورت دەکرێتەوە بۆ JS - جەی ئێس، بریتییە لە زمانێکی بەرنامەسازیی ئاستبەرز، فەنکشناڵ و وەرگێڕدراو. تایبەتمەندێتییەکانی ئەم زمانە ئەوەیە کە جوڵاوە، جۆری دراوی بێھێزە (واتە دەتوانی دراوێک بناسێنی بە ژمارە بەڵام بە ئاسانی 'ھێزی' لێ بکەی ببێتە 'نووسە')، پشت بە پرۆتۆتایب دەبەستێ (لە ئۆ ئۆ دا) و فرەپارادایمە (فرە شێوازی داڕشتنە). جاڤاسکریپت بریتییە لە یەکێک لە سێ پێکھێنەری سەرەکی تۆڕی جیھانی ئینتەرنێت، (CSS, HTML)دوانەکەی ترن.[5] جاڤاسکریپت لە بنەمادا زمانی بەرنامەسازییە لەسەر وێبگەڕ، بەڵام بە دروستکردنی نۆد.جەی ئێس دەکرێت لەسەر ڕاژەکار و سیستمەکانی کارگێڕی وەگەڕخرێت.
پارادایم | فرەپارادایم: تەنخواز (لەسەر بنچینەی پرۆتۆتایپ), فرمانی، فەنکشنەڵ, بەڕووداو پاڵنراو[1] |
---|---|
داڕێژەر | براندن ئایک |
پەرەپێدەر | کۆمپانیای گەیاندنی نێتسکەیپ، دامەزراوەی مۆزیلا، ئێکمە ئینتەرناشناڵ |
یەکەم دەرکەوتن | ٤ی کانوونی یەکەمی ١٩٩٥[2] |
وەشانی جێگیر | ECMAScript 2017[3]
/ حوزەیرانی ٢٠١٧ |
جۆری دراو (تایپ) | بزۆک، قاز |
پاشگری پەڕگە |
|
وێبگە | Mozilla |
Major implementations | |
V8, JavaScriptCore, ڕاینۆ, سپایدەر مەنکی، Chakra | |
کاریگەربووە بە | |
لوا، سکیم، پێرڵ, سێڵف، جاڤا، سی، پایتن، AWK, ھایپەرتۆک | |
کاری کردۆتە | |
ئاکشنسکریپت، ئاتسکریپت، کۆفیسکریپت، دارت، جەی سکریپت دۆت نێت، لایڤسکریپت، ئۆبجێکتڤ جەی، ئۆپا، پێرڵی ٦, QML, تایپسکریپت | |
|
وەک ھەر زمانێکی فرە پارادایم، جاڤاسکریپت پاڵپشتی دەکات لە بەرنامەسازیی فرمانی (لەنێویاندا تەنخواز و لەسەر بنچینەی پرۆتۆتایپ)، فەنکشنەڵ، بەڕووداو پاڵنراو. جاڤاسکریپت خاوەنی ناوبەستی بەرنامەسازیی بەرنامەی بەکاربەرییەکی تایبەتە بۆ کارکردن لەگەڵ دەق، ڕیز، ڕێگولەر ئیکسپرێشن، و ھەروەھا قۆزتنەوەیەکی سەرەتایی دۆم بەڵام زمانەکە لەخۆیدا ھیچ تێکردن/دەرخستەیەکی وەکوو ڕایەڵە، کۆگا، کەرەستەکانی گرافیک لەخۆ ناگرێت بەڵکو پشت بەستوو بە ژینگەی ئەو خانەخوێیەی کە لەخۆی دەگرێت.
ئەگەرچی لەسەرەتاوە جاڤاسکریپت بەتەنھا جێبەجێ کردنی لایەنی ڕاژەخوازی لەسەر وێبگەڕ ھەبوو، بەڵام لەئێستادا تێکەڵ کراوە لەگەڵ گەلێک جۆری جیاواز لە خانەخوێی نەرمامێر، لەنێویشیاندا لایەنی ڕاژەکار لەسەر ڕاژەکاری وێب و بنکەی دراوە، ھەروەھا لە بەرنامەکانی دیکەدا کە بەرنامەی وێب نین، لەوانە بەرنامەکانی چارەسەرکردنی وشە و PDF، ئەمە جگە لە بەکارھێنانی لە ژینگەکانی runtime دا کە ڕێگە دەدەن بە نووسینی بەرنامە بۆ مۆبایل و دێسکتۆپ.
ھەرچەندە لێکچوونی ڕواڵەتیی بەھێز ھەیە لە نێوان جاڤاسکریپت و جاڤادا، لەنێویاندا ناو زمانەکە، سینتاکس، و گورزە ستانداردەکان، کەچی ئەو دوو زمانە لە ناوەڕۆکدە بەتەواوەتی لەیەک جیاوازن بەتایبەتی لەڕووی دیزاینەوە؛ جاڤاسکریپت کاریگەر بووە بە زمانەکانی وەک سێڵف و سکیم.[6]
لە ١٩٩٣ دا، سەنتەری نیشتمانی بۆ سوپەرکمپیوتینگ ئاپڵیکەیشنز (NCSA)، کە یەکەیەک بوو لە زانکۆی ئیلینۆی لە ئێربانا–شەمپەین، بەرنامەی NCSA Mosaicی دەرکرد کە یەکەم وێبگەڕی بەربڵاوی نیگارەیی بوو کە ڕۆلێکی گرنگی ھەبوو لە گەشەپێدانی بەربڵاوی تەونی بەربڵاوی جیھانیدا. لە ١٩٩٤ دا، کۆمپانیایەکە بەناوی مۆزایک کۆمینویکەشنز دامەزرا لە ماونت ڤیو، کالیفۆرنیا کە زۆرینەی نووسەرەکانی NCSA Mosaic بەکرێ گرتەوە بۆ دروستکردنی مۆزایک نێتسکەیپ. بەڵام بەقەستی ھیچ کۆدێکیان لەگەڵ NCSA Mosaic دا ھاوبەشی نەدەکرد. ناوی ناوخۆیی بۆ وێبگەڕی کۆمپانیاکە "مۆزیلا" بوو، کە کورتکراوەی "Mosaic killer" بوو ئەمەش لەبەرئەوەی ئامانجی کۆمپانیاکە ئەوە بوو کە NCSA Mosaic وەک وێبگەڕی ژمارەیەکی جیھان بھێننە خوارەوە. یەکەم وەشانی وێبگەرەکە، مۆزایک نێتسکەیپ ٠٫٩، لە کۆتایی ١٩٩٤ دا بڵاوکرایەوە. لەماوەی ٤ مانگدا توانی سێ چارەکی بازاڕی وێبگەڕ بۆخۆی داگیر بکات و بەوەش بووە وێبگەڕی سەرەکی ٩٠ەکان. لەپێناو خۆپاراستن لە کێشەی خاوەندارێتی ترەیدمارک لەگەڵ NCSA، وێبگەڕەکە ناوەکەی گۆڕدرا بۆ Netscape Navigator لەھەمان ساڵدا و کۆمپانیاکەش ناوی گۆڕدرا بۆ Netscape Communications. کۆمپانیاکە دەیزانی کە وێب پێویستی بەوە ھەیە کە لەوە زیاتر بزۆک بێت. مارک ئاندریسن، کە دامەزرێنەری کۆمپانیاکە بوو، باوەڕی وابوو کە HTML پێویستی بە زمانێک ھەیە کە چەسپی بکات و گرێ بدات بەیەکەوە بەڵام بەمەرجێک کە ئاسان بێت لەڕووی بەکارھێنانەوە بۆ دیزاینەرەکان و بەرنامەسازەکان.
لە ١٩٩٥دا، نێتسکەیپ براندن ئایکی دامەزراند بەو ئامانجەوە کە زمانی سکیم تێکەڵ بکات لەگەڵ نێتسکەیپ ناڤیگەیتەر.[7] بەر لەوەی دەست بەکار ببێت، نێتسکەیپ کۆمیونیکەیشنز ھەماھەنگی دەست پێ کرد لەگەل سەن مایکرۆسیستەمز تاوەکو زمانی جاڤای مایکرۆسیستەمز تێکەڵ بە نێتسکەیپ ناڤیگەیتەر بکات، ئەمەش لەپێناو کێبڕکێ کردن لەگەڵ مایکرۆسۆفت بۆ لەخۆگرتنی تەکنەلۆجیای وێب لەلایەن بەکارھێنەرەوە.[8] نێتسکەیپ کۆمیونیکەیشنز دوتر بڕیاری دا کە ئەو زمانی سکریپتسازییەی کە دەیانەوێت دروستی بکەن پێویستە تەواوکەری جاڤا بێت و لەڕووی سینتاکسەوە لەیەک نزیک بن، ئەمەش وای کرد کە لەخۆ گرتی زمانەکانی وەک پێڕڵ و پایتن و تیکڵ و سکیم بخرێتە لاوە. بۆ بەرگریکردن لە بیرۆکەی جاڤاسکریپت لەدژی پێشنیارە کێبڕکێکارەکان، کۆمپانیاکە پێویستی بەنموونەیەکی سەرەتایی ھەبوو. ئایک نموونەیەکی سەرەتایی لە ماوەی ١٠ ڕۆژدا ئامادەکرد، لە مایسی ١٩٩٥ دا.
ئەگەرچی زمانەکە لەژێر ناوی مۆکا (Mocha) دا پەرەی پێ دەدرا، دواتر بەفەرمی ناوەکەی گۆڕدرا بۆ لایڤسکریپت (LiveScript) لەپاش ئەوەی کە بارکرا بۆ وەشانی بێتای نێتسکەیپ ناڤیگەیتەر ٢٫٠ لە ئەیلوولی ١٩٩٥ دا بەڵام دوایی ناونرا جاڤاسکریپت پاش بارکردن بۆ وەشانی بێتای نێتسکەیپ ناڤیگەیتەر ٣ لە کانوونی یەکەمدا.[9] دوا ھەڵبژاردەی ناوەکە بووە ھۆی سەرلێ تێکچوون، ئەوەش بەھۆی ئەوەی وا دەردەکەوت کە لەڕێلادەر (Spin-off)ێک بێت لە زمانی بەرنامەسازی جاڤا. ئەو ھەڵبژاردەیە دواتر وەسفکرا[10] وەک بازاڕبۆکردنێک لەلایەن نێتسکەیپەوە بۆ جاڤاسکریپت و پێ ناساندنی وەک زمانە نوێیە گەرم و گوڕەکەی وێب.
بەھەڵە تێگەیشتنێکی باو ھەیە کە گوایە جاڤاسکریپت کاریگەر بووە بە زمانێکی سکریپتسازی وێبی پێشووتر بەناوی Cmm ەوە کە پەرەی پێدرا بوو لەلایەن نۆمباسەوە (کەجیاوازە لە سی ماینەس ماینەس کە لە ١٩٩٧ دا دروست کرا).[11][12] براندن ئایک ھەرگیز Cmmی نەبیستبوو بەر لە دروستکردنی LiveScript.[13]
لە کانوونی یەکەمی ١٩٩٥دا و لەپاش دەرچوونی جاڤاسکریپت بۆ وێبگەڕەکان، نێتسکەیپ جێبەجێکردنێکی نوێی جاڤاسکریپتی بۆ بەرنامەسازی لای ڕاژەکار ناساند لەڕێگەی نێتسکەیپ ئینتەرپرایز سێرڤەر.[14]
لە ١٩٩٦ەوە، ڕاژەکاری ئای ئێس ئێسی وێب پاڵپشتی دەکات لە جێبەجێکردنەکەی مایکرۆسۆفت بۆ جاڤاسکریپتی لای ڕاژەکار، کە پێی دەوترێت جەیسکریپت.[15]
لە ناوەڕاستی ٢٠٠٠ەکانەوە، جاڤاسکریپت لەلای ڕاژەکاری دیکە بەردەستە، لەنێویاندا نۆد.جەی ئێس کە لە ٢٠٠٩ دا ناسێنرا.[16]
تەکنەلۆجیاکانی سکریپتسازیی مایکرۆسۆفت و لەنێویانداا ڤیبیسکریپت و جەیسکریپت لە ١٩٩٦ دا دەرچوون. جەی سکریپت، کە جێبەجێ کردنێکی ئەندازیاریی ھەڵگەڕاوە (Reverse Engineering)ی جاڤاسکریپتەکەی نێتسکەیپە، بەشێک بووە لە ئینتەرنێت ئێکسپلۆرەر ٣. جەیسکریپت ھەروەھە بەردەستیش بووە بۆ سکریپتسازی لایەنی ڕاژەکار لەسەر ئای ئێس ئێس. ئینتەرنێت ئێکسپلۆرەر ٣ پاڵپشتی مایکرۆسۆفتی بۆ CSS و بەشێک لە درێژکراوەکانی HTML لەخۆ دەگرن، بەڵام لەھەموو ئەمانەدا جێبەجێکردنەکە بەئاشکرایی جیاواز بوو لەوەی نێتسکەیپت.[17][18] ئەو جیاوازیانە وای دەکرد کە کاری دیزاینەران و بەرنامەسازان گەلێک قورس بێت بەتایبەتی لەکاتی دروستکردنی مالپەرێکدا کە لەسەر ھەردوو وێبگەڕەکە بە تەواوی کاری بکردایە. ئەمە بووە ھۆی دەرکەوتنی لۆگۆکانی وەک «باشتر کاردەکات لەسەر ئینتەرنێت ئێکسپلۆرەر» و «باشتر کاردەکات لەسەر نێتسکەیپ» کە نموونەی سەرەتاکانی شەڕەکانی وێبگەڕ.[19] جاڤاسکریپت تۆز تۆز بووە خاوەنی ناوبانگێک بۆ وێبێکی سەکۆبڕ و بنەماستاندارد. ھەندێک پەرەپێدەر توانیان وابکەن ماڵپەرەکانیان لەسەر ھەردووک وێبگەڕ بخەنە کار بەڵام زۆرێک ھەبوون کە سەرکەوتوو نەبوون لەو کارەدا. دوابەدوای دەرچوونی ئینتەرنێت ئێکسپلۆرەر ٤، مایکرۆسۆفت بیرۆکەی ئەیچ تی ئێم ئێڵی بزۆکی خستەڕوو، بەڵام ھێشتا جیاوازی جێبەجێکردنەکان و جیاوازی لە مۆدێلی بەڵگەنامەیی تەن وەک خۆیان مانەوە و بوونە تەگەرەی سەرەکیی و ھۆکاری سەرەکیی باربڵاوبوونی جاڤاسکریپت لەسەر وێب.[17]
یەکێ لە کێشە گەورەکانی جاڤاسکریپت، فرەیی شێوازی نووسینی کۆدە. لەبەر بڵاوی جاڤاسکریپت ستاندارد دانرا بۆ زمانەکە بۆ ھاوکاریکردنی ئاڵوگۆڕی کۆد و پەرەپێدانی مەکینە و بەرنامەی زیاتر بۆ جاڤاسکریپت. یەکێک لەو ستانداردانە بریتییە لە ECMAScript.
ئەمەی خوارەوە نموونەی بەرنامەی "ھەلەو وێڵد"ە لە جاڤاسکریپت. لەبەرئەوەی جاڤاسکریپت لە وێبگەڕ کار دەکات تەنیا جێگایەک "دەرھاویشت"ەی کۆدی تێدا دەرکەوێت بریتییە لە "کۆنسۆڵ"ی وێبگەڕ.
console.log("Hello World!");
نموونەی ئاڵۆزتر: ئەمەی خوارەوە بریتییە لە "فەنکشن"ێکی ڕیکێرسیڤ (خۆبارکەرەوە):
function factorial(n) {
if (n === 0) {
return 1; // 0! = 1
}
return n * factorial(n - 1);
}
factorial(3); // ئەنجامەکە 6
// چۆن کار دەکات؟ ٣ جار خۆی بانگ دەکاتەوە. ٣ جاران ٢ جاران ١ چونکە کە بوو بە سفر نرخەکە دەبێتە ١.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.