JavaScript: Versiyalar orasidagi farq

Vikipediya, ochiq ensiklopediya
Kontent oʻchirildi Kontent qoʻshildi
MalikxanBot (munozara | hissa)
k Bot v2: Umumiy tuzatmalar; Imlo va grammatika
tuz.
Qator 1: Qator 1:
{{Dasturlash tili bilgiqutisi
{{Dasturlash tili bilgiqutisi
| nomi = JavaScript
| nomi = JavaScript
| logo = Unofficial JavaScript logo 2.svg
| tasvir = [[Fayl:Unofficial_JavaScript_logo_2.svg|center|150px]]
| paradigm = [[Multi-paradigmali dasturlash tili|Multi-paradigmali]]: [[voqeaga yoʻnaltirilgan dasturlash|voqeaga yoʻnaltirilgan]], [[funksional dasturlash|funksional]], [[imperativ dasturlash|imperativ]], [[tartibotli dasturlash|tartibotli]], [[obyektga yoʻnaltirilgan dasturlash]]
| introduced = {{start date and age|1995|12|4}}<ref name="press_release">[https://web.archive.org/web/20070916144913/http://wp.netscape.com/newsref/pr/newsrelease67.html Press release announcing JavaScript], „Netscape and Sun announce JavaScript“, PR Newswire, 4-dekabr 1995-yil</ref>
| designer = [[Brendan Eich]]
| turi =JavaScript (ko'pincha JS ga qisqartiriladi) birinchi darajali funksiyalarga ega bo'lgan engil, talqin qilinadigan, ob'ektga yo'naltirilgan tildir va veb-sahifalar uchun skript tili sifatida tanilgan, lekin u ko'plab nobrauzer muhitlarida ham qo'llaniladi.
| implementations = [[V8]], [[JavaScriptCore]], [[SpiderMonkey]], [[Chakra]]
| maqomi =State of JS so'rovi yillar davomida diniy maqomga ega bo'ldi va JavaScript dunyosida nima mashhur va nima yo'qligini yaxshi grafik tasviriga aylandi.
| influenced = [[ActionScript]], [[AssemblyScript]], [[CoffeeScript]], [[Dart]], [[Haxe]], [[JS++]], [[Opa]], [[TypeScript]]
| registry = {{plainlist|
| license =
| file extensions = {{flatlist|
* <code>.js</code>
* <code>.js</code>
* <code>.cjs</code>
* <code>.mjs</code><ref name="node.js ECMAScript Modules Specification">{{veb manbasi|url=https://github.com/nodejs/node-eps/blob/master/002-es-modules.md|title=nodejs/node-eps|website=GitHub}}</ref>
* <code>.mjs</code><ref name="node.js ECMAScript Modules Specification">{{cite web|url=https://github.com/nodejs/node-eps/blob/master/002-es-modules.md|title=nodejs/node-eps|website=GitHub|access-date=2018-07-05|archive-date=2020-08-29|archive-url=https://web.archive.org/web/20200829024713/https://github.com/nodejs/node-eps/blob/master/002-es-modules.md|url-status=live}}</ref>
}}
| file format =
| wikibooks = JavaScript
| year = {{start date and age|1995|12|4}}<ref name="press_release">{{Cite press release |url=https://wp.netscape.com/newsref/pr/newsrelease67.html |archive-url=https://web.archive.org/web/20070916144913/https://wp.netscape.com/newsref/pr/newsrelease67.html |archive-date=2007-09-16 |title=Netscape and Sun announce JavaScript, the Open, Cross-platform Object Scripting Language for Enterprise Networks and the Internet |date=December 4, 1995}}</ref>
| latest release version = {{wikidata|property|edit|reference|P548=Q2804309|P348}}
| latest release date = {{start date and age|{{wikidata|qualifier|single|P548=Q2804309|P348|P577}}}}
| latest preview version = {{wikidata|property|edit|reference|P548=Q51930650|P348}}
| latest preview date = {{start date and age|{{wikidata|qualifier|single|P548=Q51930650|P348|P577}}}}
| influenced by = [[Java]],<ref name="looklikejava">{{cite book|last=Seibel|first=Peter|title=Coders at Work: Reflections on the Craft of Programming|isbn=9781430219484|quote="Eich: The immediate concern at Netscape was it must look like Java."|url=https://books.google.com/books?id=nneBa6-mWfgC&q=The+immediate+concern+at+Netscape+was+it+must+look+like+Java.&pg=PA141|access-date=December 25, 2018|date=September 16, 2009|archive-date=December 24, 2020|archive-url=https://web.archive.org/web/20201224233514/https://books.google.com/books?id=nneBa6-mWfgC&q=The+immediate+concern+at+Netscape+was+it+must+look+like+Java.&pg=PA141|url-status=live}}</ref><ref name="origin">{{cite web|url=https://speakingjs.com/es5/ch04.html|title=Chapter 4. How JavaScript Was Created|website=speakingjs.com|access-date=2017-11-21|archive-date=2020-02-27|archive-url=https://web.archive.org/web/20200227184037/https://speakingjs.com/es5/ch04.html|url-status=live}}</ref> [[Scheme]],<ref name="origin"/> [[Self]],<ref>{{cite web|url=https://brendaneich.com/2008/04/popularity/|title = Popularity – Brendan Eich}}</ref> [[AWK]],<ref>{{cite web|title=Brendan Eich: An Introduction to JavaScript, JSConf 2010|website=[[YouTube]]|quote="Eich: "function", eight letters, I was influenced by AWK."|url=https://www.youtube.com/watch?v=1EyRscXrehw|access-date=November 25, 2019|page=22m|archive-date=August 29, 2020|archive-url=https://web.archive.org/web/20200829024704/https://www.youtube.com/watch?v=1EyRscXrehw|url-status=live}}</ref> [[HyperTalk]]<ref>{{cite book |last=Eich |first=Brendan |authorlink1=Brendan Eich |chapter=Foreword |editor1-last=Goodman |editor1-first=Danny |editor1-link=Danny Goodman |year=1998 |title=JavaScript Bible |edition=3rd |publisher=John Wiley & Sons |isbn=0-7645-3188-3 |lccn=97078208 |oclc=38888873 |ol=712205M |url-access=registration |url=https://archive.org/details/javascriptbible000good}}</ref>
| website = {{URL|https://www.ecma-international.org/publications-and-standards/standards/ecma-262/}}
}}
}}
| versiyalari =ES5 ECMAScript 5 (2009)<br />ES6 ECMAScript 2015<br />ES6 ECMAScript 2016<br />ES6 ECMAScript 2017
| litsenziya =GNU-GPL-2.0. GNU-GPL-3.0. GNU-LGPL-2.1
| vebsayt =www.ecma-international.org /publications-and-standarts /standartlar /ecma-262 /
| platforma =JavaScript platformalari · 1. React<br /> 2. Angular<br />3. Vue<br />4. Meteor<br />5. Node
|year=1995-yil 4-dekabr ; 26 yil oldin|paradigm=Ko'p paradigma : hodisalarga asoslangan, funktsional, imperativ, protsessual, ob'ektga yo'naltirilgan dasturlash|muallifi=Dastlab Netscape'dan [[Brendan Eich]] ; boshqalar ham ECMAScript standartiga hissa qo'shgan}}'''Javascript'''<ref>{{veb manbasi | url= http://dictionary.reference.com/browse/javascript | title= JavaScript | publisher= William Collins Sons & Co | work= Collins English Dictionary – Complete & Unabridged 2012 Digital Edition | date= 2012 | accessdate= 21-avgust 2015-yil}}</ref> — '''JS''' nomi bilan ham qisqartiriladigan [[ECMAScript]] spesifikatsiyasiga mos keladigan yuqori darajali hamda aniq talqin qilingan [[Dastur|dasturlash tili]].<ref name=tc39>{{veb manbasi|url=https://tc39.es/ecma262/#sec-overview|title=ECMAScript® 2020 Language Specification}}</ref><ref>{{veb manbasi | url= http://dictionary.reference.com/browse/javascript | title= JavaScript | publisher= William Collins Sons & Co | work= Collins English Dictionary – Complete & Unabridged 2012 Digital Edition | date= 2012 | accessdate= 21-avgust 2015}}</ref>


'''JavaScript''' (<small>talaffuzi:</small> {{IPAc-en|ˈ|dʒ|ɑː|v|ə|s|k|r|ɪ|p|t}}; qisqartmasi: '''JS''' {{IPA|/ˈdʒeɪ.ɛs./}}) [[yuqori pogʻonali dasturlash tili]]dir. [[1995-yil]]da amerikalik dasturchi [[Brendan Eich]] tomonidan yaratilgan. JavaScript tili barcha asosiy [[brauzer]]lar tomonidan ishlatiladi.
== Imkoniyatlari ==
Ushbu dastur Liveware Javascript tilining avlodi boʻlib, Netscape serveri tomonidan ishlovchi vosita boʻladi. Ammo Javascript tilini mashhur qilgan narsa bu xaridor tomonidan dasturlashdir. Javascriptning asosiy vazifasi — [[HTML]] konteynerlar atributlarining qiymatlarini va koʻrsatuvchi muhitining xossalirini HTML sarlavhalarni koʻrish jarayonida foydalanuvchi tomonidan oʻzgartirish imkoniyatlarida, boshqacha aytganda ularni dinamik sarlavhalar qilish (DHTML) tushuniladi. Yana shuni aytish joizki, sarlavhalar qayta yuklanmaydi. Amalda buni, masalan, quydagicha ifodalash mumkin, sarlavhaning fonining rangini yoki hujjatdagi [[rasm]]ni oʻzgartirish, yangi oyna ochish yoki ogohlantirish oynasini chiqarish.


[[Java]] va JavaScript dasturlash tillarining nomi, sintaksisi va standart kutubxonalari oʻxshash boʻlsa-da, ular bir-biridan sezilarli darajada farqlanadi.
„JavaScript“ nomi Netscape kompaniyasining xususiy maxsuloti hisoblanadi. [[Microsoft]] tomonidan amalga oshirilgan til rasman Jscript deb nomlanadi. Jscript versiyalari Javascriptning mos versiyalari bilan mos keladi (aniqroq qilib aytganda oxirigacha emas).


== Manbalar ==
Javascript, ECMA (European Computer Manufacturers Association — Yeropa kompyuter ishlab chiqaruvchilar assotsiyatsiyasi) tomonidan standartlashtirilgan. Mos standartlar quydagicha nomlanadi: ECMA-262 va ISO-16262. Ushbu standartlar bilan Javascript 1.1ga taqriban ekvivalent ECMAScript tili aniqlanadi. Eslatish joizki, bugungi kunda Javascript ning hamma versiyalari ham ECMA standartlariga mos kelavermaydi. Mazkur kurs yoki qoʻllanmada barcha hollarda biz Javascript nomidan foydalanamiz.
{{manbalar}}


== Xususiyatlari ==
== Havolalar ==
{{commons turkum}}
Javascript, bu [[Internet]] uchun katta boʻlmagan xaridor va server ilovalarni yaratishga moʻljallangan nisbatan oddiy jismga yoʻnaltirilgan til. Javascript tilida tuzilgan dasturlar HTML hujjatning ichiga joylashtirilib ular bilan birga uzatiladi. Kurish dasturlari (brauzerlar va hokazo) Netscape Navigator va Microsoft Internet Explorer hujjat matniga joylashtirilgan dasturlarni (Scriptkod) uzatishadi va bajarishadi.
* {{Curlie|Computers/Programming/Languages/JavaScript/}}
Shunday qilib, Javascript — interpritatorli dasturlash tili hisoblanadi. Javascriptda tuzilgan dasturlarga foydalanuvchi tomonidan kiritilayotgan maʼlumotlarni tekshirayotgan yoki hujjatni ochganda yoki yopganda biror bir amallarni bajaruvchi dasturlar misol boʻlishi mumkin.
* {{cite web |url = https://www.pldi21.org/prerecorded_hopl.12.html |title = JavaScript: The First 20 Years |access-date = 2022-02-06 |lang = inglizcha }}


{{chala}}
JavaScriptʼda yaratilgan dasturlarga misol sifatida foydalanuvchi tomonidan kiritilgan maʼlumotlarni tekshiruvchi, hujjatni ochish yoki yopish vaqtida qandaydir amallarni bajaruvchi dasturlarni keltirish mumkin. Bunday dasturlar foydalanuvchi tomonidan berilgan koʻrsatmalarga — sichqoncha tugmachasini bosilishiga, maʼlumotlarni ekran orqali kiritishiga yoki sichqonchani sahifa boʻylab siljitilishiga koʻra ish bajaradi. Bundan tashqari JavaScript dagi dasturlar brauzerning olzini va hujjatning atributlarini ham boshqarishi mumkin.

JavaScript dasturlash tili sintaktik jihatdan Java dasturlash tiliga, jismli modellashni istisno qilgan holda, oʻxshab ketsada, lekin maʼlumotlarni statik turlari va qatʼiy tiplashtirish kabi xususiyatlarga ega boʻlmaydi. JavaScript, Java dasturlash tilidan farq qilib, sinf tushunchasi bu tilning asosiy sintaktik qurilmasi hisoblanmaydi. Bunday asos sifatida foydalanilayotgan tizim tomonidan qolllab-quvvatlanayotgan, oldindan aniqlangan maʼlumot tiplari: sonli, mantiqiy va satrli; mustaqil ham boʻlishi, jismning usuli sifatida ham ishlatilishi mumkin bollgan funksiyalar; katta sondagi uz xossalariga va usullariga ega boʻlgan hamda oldindan aniqlangan jismlardan iborat jismli model va yana dastur ichida foydalanuvchi tomonidan yangi jismlarni berish qoidalari hisoblanadi.
JavaScriptʼda dasturlar yaratish uchun hech qanday qoʻshimcha vositalar kerak boʻlmaydi, faqatgina tegishli versiyadagi JavaScript qoʻllanishi mumkin boʻlgan brauzer va DHTML hujjatlarni yaratishga imkon beruvchi matn muharriri kerak boʻladi.<ref>{{veb manbasi|title="JavaScript" dasturi va uning imkoniyatlari|url=http://tami.uz/matnga_qarang.php?id=438|accessdate=18-fevral, 2018}}</ref>

== Sintaksis ==
=== Oddiy namunalar ===
JavaScriptda oʻzgaruvchilarni <tt>var</tt>,<ref>{{veb manbasi | url=https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Statements/var | title=var – JavaScript – MDN | publisher=The [[Mozilla Developer Network]] | accessdate=22-dekabr 2012-yil}}</ref> <tt>let</tt><ref name="moz_let">{{veb manbasi |title=let |url=https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let |website=MDN web docs |publisher=Mozilla |accessdate=27-iyun 2018-yil |ref=moz_let}}</ref> yoki <tt>const</tt><ref name="moz_const">{{veb manbasi |title=const |url=https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const |website=MDN web docs |publisher=Mozilla |accessdate=27-iyun 2018-yil |ref=moz_const}}</ref> kalitsoʻzlari orqali qoʻying.
<syntaxhighlight lang="javascript">
var x; // declares the variable x and assigns to it the special value „undefined“ (not to be confused with an undefined value)
var y = 2; // declares the variable y and assigns to it the value 2
var z = "Hello, World!"; // declares the variable z and assigns to it a string containing „Hello, World!“
</syntaxhighlight>

<syntaxhighlight lang="javascript">
console.log(„Hello World!“);
</syntaxhighlight>

<syntaxhighlight lang="javascript">
function factorial(n) {
if (n === 0)
return 1; // 0! = 1

return n * factorial(n - 1);
}

factorial(3); // returns 6
</syntaxhighlight>

<syntaxhighlight lang="javascript">
function counter() {
let count = 0;

return function() {
return ++count;
};
}

let closure = counter();
closure(); // returns 1
closure(); // returns 2
closure(); // returns 3
</syntaxhighlight>

== Manbalar ==
{{manbalar}}


{{Tashqi havolalar}}
== Havolalar ==
* Douglas Crockford’s [https://www.youtube.com/playlist?list=PL62E185BB8577B63D video lectures on JavaScript]
* Douglas Crockford’s [http://javascript.crockford.com/survey.html A Survey of the JavaScript Programming Language]
* {{DMOZ|Computers/Programming/Languages/JavaScript/}}
* [https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS/ List of languages that compile to JS]


[[Turkum:Dasturlash tillari]]
[[Turkum:Dasturlash tillari]]

1-Avgust 2023, 21:26 dagi koʻrinishi

JavaScript
Paradigmalari Multi-paradigmali: voqeaga yoʻnaltirilgan, funksional, imperativ, tartibotli, obyektga yoʻnaltirilgan dasturlash
Muallifi Brendan Eich
Tuzilgan yili 4-dekabr, 1995-yil (28 yil avval) (1995-12-04)[1]
Fayl kengaytmalari
  • .js
  • .cjs
  • .mjs[2]
Vebsayt ecma-international.org/publications-and-standards/standards/ecma-262/
Bunga asos boʻlgan tillar
Java,[3][4] Scheme,[4] Self,[5] AWK,[6] HyperTalk[7]
Buning asosida tuzilgan tillar
ActionScript, AssemblyScript, CoffeeScript, Dart, Haxe, JS++, Opa, TypeScript

JavaScript (talaffuzi: /ˈɑːvəskrɪpt/; qisqartmasi: JS /ˈdʒeɪ.ɛs./) yuqori pogʻonali dasturlash tilidir. 1995-yilda amerikalik dasturchi Brendan Eich tomonidan yaratilgan. JavaScript tili barcha asosiy brauzerlar tomonidan ishlatiladi.

Java va JavaScript dasturlash tillarining nomi, sintaksisi va standart kutubxonalari oʻxshash boʻlsa-da, ular bir-biridan sezilarli darajada farqlanadi.

Manbalar

  1. (1995-yil 4-dekabr). „Netscape and Sun announce JavaScript, the Open, Cross-platform Object Scripting Language for Enterprise Networks and the Internet“. Press-reliz.
  2. „nodejs/node-eps“. GitHub. 2020-yil 29-avgustda asl nusxadan arxivlangan. Qaraldi: 2018-yil 5-iyul.
  3. Seibel, Peter. Coders at Work: Reflections on the Craft of Programming, September 16, 2009. ISBN 9781430219484. „"Eich: The immediate concern at Netscape was it must look like Java."“ 
  4. 4,0 4,1 „Chapter 4. How JavaScript Was Created“. speakingjs.com. 2020-yil 27-fevralda asl nusxadan arxivlangan. Qaraldi: 2017-yil 21-noyabr.
  5. „Popularity – Brendan Eich“.
  6. „Brendan Eich: An Introduction to JavaScript, JSConf 2010“. YouTube. — „"Eich: "function", eight letters, I was influenced by AWK."“. 2020-yil 29-avgustda asl nusxadan arxivlangan. Qaraldi: 2019-yil 25-noyabr.
  7. Eich, Brendan „Foreword“,. JavaScript Bible, 3rd, John Wiley & Sons, 1998. ISBN 0-7645-3188-3. OCLC 38888873. 

Havolalar