www.wikidata.uk-ua.nina.az
JavaScript JS dinamichna ob yektno oriyentovana 5 prototipna mova programuvannya Realizaciya standartu ECMAScript Najchastishe vikoristovuyetsya dlya stvorennya scenariyiv vebstorinok sho nadaye mozhlivist na boci kliyenta pristroyi kincevogo koristuvacha vzayemodiyati z koristuvachem keruvati brauzerom asinhronno obminyuvatisya danimi z serverom zminyuvati strukturu ta zovnishnij viglyad vebstorinki JavaScriptParadigma imperativna elementi funkcionalnoyi ob yektno oriyentovana prototip oriyentovana Data poyavi 1995Tvorci Brendan AjkRozrobnik Netscape Communications Corporation Mozilla FoundationOstannij reliz ECMAScript 2020 1 cherven 2020 Testova versiya 27 lipnya 2010 Sistema tipizaciyi dinamichna kachinaOsnovni realizaciyi V8 SpiderMonkey Rhino KJS Carakan Chakra Microsoft Pid vplivom vid Scheme Self Java C PythonVplinula na ActionScript CoffeeScript Dart JScript NET Objective J QML TypeScript LiveScriptZvichajni rozshirennya fajliv js 2 Vebsajt ecma international org publications and standards standards ecma 262 JavaScript u VikishovishiRozshirennya fajlu jsMIME tip code application javascripttext javascript zastarila 3 code Uzagalnenij identifikator tipu com netscape javascript source 4 Tip formatu tekstovij fajlNe plutati z Java Ne plutati z JScript JavaScript klasifikuyut yak prototipnu pidmnozhina ob yektno oriyentovanoyi skriptovu movu programuvannya z dinamichnoyu tipizaciyeyu Okrim prototipnoyi JavaScript takozh chastkovo pidtrimuye inshi paradigmi programuvannya imperativnu ta chastkovo funkcionalnu i deyaki vidpovidni arhitekturni vlastivosti zokrema dinamichna ta slabka tipizaciya avtomatichne keruvannya pam yattyu prototipne nasliduvannya funkciyi yak ob yekti pershogo klasu Zmist 1 Zastosuvannya 2 Istoriya 2 1 Poyava v Netscape 2 2 Standartizaciya 2 3 Aktualnij stan 3 Opis 4 Vikoristannya v HTML 4 1 Asinhronni skripti defer async 4 1 1 Atribut async 4 1 2 Atribut defer 5 Tipizaciya 6 Vidlagodzhennya 7 Div takozh 8 Primitki 9 PosilannyaZastosuvannya RedaguvatiMova JavaScript vikoristovuyetsya dlya napisannya scenariyiv vebstorinok dlya nadannya yim interaktivnosti stvorennya odnostorinkovih ta progresivnih vebzastosunkiv React AngularJS Vue js programuvannya na boci servera Node js Express js stacionarnih zastosunkiv Electron 6 NW js 7 mobilnih zastosunkiv React Native 8 Cordova 9 scenariyiv v prikladnih programah napriklad v programah zi skladu Adobe Creative Suite chi Apache JMeter vseredini PDF dokumentiv tosho Popri shozhist nazv movi Java ta JavaScript ye dvoma riznimi movami sho mayut vidminnu semantiku hocha j mayut shozhi risi v standartnih bibliotekah ta pravilah imenuvannya Sintaksis oboh mov otrimanij u spadok vid movi S ale semantika ta dizajn JavaScript ye rezultatom vplivu mov Self ta Scheme 10 Istoriya RedaguvatiPoyava v Netscape Redaguvati 1995 roku kompaniya Netscape postavila zavdannya vbuduvati movu programuvannya Scheme chi yakus shozhu v brauzer Netscape Dlya cogo buv zaproshenij Brendan Ajk amerikanskij rozrobnik sho specializuvavsya na sistemnomu programuvanni Takozh dlya priskorennya rozrobki Netscape pochali spivrobitnictvo z kompaniyeyu Sun Microsystems Z chasom koncepciya rozroblyuvanoyi movi programuvannya bula rozshirena do mozhlivosti vikoristannya bezposeredno v HTML kodi storinki Kompaniyi mali na meti stvoriti movu sho mogla zv yazati rizni chastini vebsajtiv zobrazhen Java apletiv ob yektnoyi modeli dokumenta Cya mova povinna bula stati zruchnoyu dlya vebdizajneriv ta nekvalifikovanih programistiv Robochoyu nazvoyu novoyi movi bula Mocha yaka bula zminena na LiveScript v pershih dvoh beta versiyah brauzera Netscape 2 0 A desho piznishe koristuyuchis populyarnistyu brendu Java LiveScript buv perejmenovanij na JavaScript i tretya beta versiya 2 0B3 Netscape 2 0 vzhe vijshla z suchasnoyu nazvoyu 11 12 Dlya cogo bula pridbana vidpovidna licenziya u kompaniyi Sun Microsystems sho volodila brendom Java 1992 roku kompaniyeyu Nombas bula rozroblena skriptova mova programuvannya Cmm angl S minus minus gra sliv navkolo movi S yaka piznishe bula perejmenovana na ScriptEase ta mogla vbudovuvatisya v vebstorinki Isnuye hibna dumka sho JavaScript stvoreno pid vplivom Cmm Naspravdi Brendan Ajk nikoli ne chuv pro Cmm do togo yak vin stvoriv LiveScript 13 Piznishe Nombas zupinili rozrobku Cmm ta pochali vikoristovuvati JavaScript a zgodom brali uchast u grupi zi standartizaciyi JavaScript Standartizaciya Redaguvati U listopadi 1996 roku Netscape zayavila sho vidpravila JavaScript v organizaciyu Ecma International dlya rozglyadu movi yak promislovogo standartu U rezultati podalshoyi roboti z yavilas standartizovana mova z nazvoyu ECMAScript U chervni 1997 roku Ecma International opublikuvala pershu redakciyu specifikaciyi ECMA 262 Rik po tomu u chervni 1998 roku shob adaptuvati specifikaciyu do standartu ISO IEC 16262 buli vneseni deyaki zmini i vipushena druga redakciya Tretya redakciya pobachila svit u grudni 1999 roku 14 Chetverta versiya standartu ECMAScript tak i ne bula zakinchena i chetverta redakciya ne vijshla 15 Tim ne mensh p yata redakciya z yavilasya v grudni 2009 roku U chervni 2015 roku 16 vijshla shosta versiya pochinayuchi z yakoyi komitet ECMAScript uhvaliv rishennya perejti na shorichni onovlennya i nova versiya otrimala nazvu ES2015 Vona otrimala cilu nizku novovveden sered yakih ob yekt Promise dlya zruchnogo asinhronnogo vikonuvannya kodu destrukturuyuche prisvoyuvannya strilochni funkciyi funkciyi generatori shablonni ryadki operatori ogoloshennya zminnih let ta const tosho Versiya ES2016 vijshla u chervni 2016 roku 16 sered novovveden operator pidnesennya do stepenya ta metod Array prototype includes yakij pereviryaye chi mistitsya peredanij argument v masivi Versiya ES2017 sho vijshla v chervni 2017 roku 16 dodala mozhlivist vikoristannya asihronnih funkcij visyachih kom v parametrah funkcij ob yekt Atomics dekilkoh novih metodiv dlya roboti z ryadkami Versiya ES2018 vijshla u chervni 2018 roku 17 dodala mozhlivist zdijsnyuvati asinhronni iteraciyi operator Spread dlya roboti z ob yektami ta masivami dekilka novih mozhlivostej dlya regulyarnih viraziv metod Promise prototype finally yakij spracovuye po otrimannyu Promise om statusu vikonanij Versiya ES2019 vijshla u chervni 2019 roku 18 sered novovveden novij tip danih Symbol novi metodi dlya roboti z ryadkami ta masivami peretvorennya ob yektiv v masivi i navpaki za dopomogoyu Entries Aktualnoyu na danij moment ye versiya ES2020 sho vijshla u chervni 2020 roku 19 Vona dodala do movi novij tip danih BigInt operator dlya perevirki na null ta undefined mozhlivist vikoristannya opcionalnih znachen v ob yekti dinamichni importi ob yekt globalThis metodi String prototype matchAll dlya poshuku u ryadku za dopomogoyu regulyarnih viraziv ta Promise allSettled dlya spracyuvannya pislya vikonannya usih Promise iv Aktualnij stan Redaguvati JavaScript narazi ye odniyeyu z najpopulyarnishih mov programuvannya v interneti 20 V pershi roki isnuvannya bilshist profesijnih programistiv skeptichno stavilisya do movi cilova auditoriya yakoyi skladalasya z programistiv amatoriv 21 Poyava AJAX zminila situaciyu ta zvernula uvagu profesijnoyi spilnoti do movi a yiyi podalshi modifikaciyi za standartami ES6 vnesli bagato korisnih mozhlivostej yakih ne vistachalo dlya efektivnogo programuvannya V rezultati buli rozrobleni ta pokrasheni bagato praktik vikoristannya JavaScript zokrema testuvannya ta nalagodzhennya stvoreni biblioteki ta frejmvorki poshirilosya vikoristannya JavaScript poza brauzerom V 2023 roci u kategoriyi najpopulyarnishih mov programuvannya sered IT specialistiv zgidno rejtingu IEEE Spectrum yakij ohoplyuvav 59 mov programuvannya top 5 viglyadav tak Python Java C C JavaScript 22 Opis RedaguvatiJavaScript maye nizku vlastivostej ob yektno oriyentovanoyi movi ale zavdyaki koncepciyi prototipiv pidtrimka ob yektiv v nij vidriznyayetsya vid tradicijnih mov OOP Krim togo JavaScript maye kilka vlastivostej pritamannih funkcionalnim movam funkciyi yak ob yekti pershogo klasu ob yekti yak spiski karring anonimni funkciyi zamikannya closures sho dodaye movi dodatkovu gnuchkist JavaScript maye C podibnij sintaksis ale v porivnyanni z movoyu C maye taki korinni vidminnosti ob yekti z mozhlivistyu introspekciyi i dinamichnoyi zmini tipu cherez mehanizm prototipiv funkciyi yak ob yekti pershogo klasu obrobka vinyatkiv avtomatichne privedennya tipiv avtomatichne zbirannya smittya anonimni ta strilochni funkciyiJavaScript mistit dekilka desyatkiv vbudovanih ob yektiv 23 yaki podilyayutsya na grupi fundamentalni Object Function Boolean Symbol pomilki grupa ob yektiv Error chisla ta dati Number BigInt Math Date tekstovi String RegExp indeksovani grupa ob yektiv Array klyuchovi Map Set WeakMap WeakSet dlya roboti z strukturovanimi danimi ArrayBuffer Atomics DataView JSON abstraktni Promise Generator reflekcijni Reflect Proxy grupi Intl ta WebAssembly Krim togo JavaScript mistit nabir vbudovanih operacij sho keruyut logikoyu vikonannya program Sintaksis JavaScript v osnovnomu vidpovidaye sintaksisu movi Java tobto zreshtoyu uspadkovanij vid C ale sproshenij u porivnyanni z nim shob zrobiti movu scenariyiv legkoyu dlya vivchennya Tak napriklad deklaraciya zminnoyi ne mistit yiyi tipu vlastivosti takozh ne mayut tipiv a deklaraciya funkciyi mozhe znahoditisya v teksti programi pislya neyi Semantika movi shozha z movoyu Self Priklad ogoloshennya i vikoristannya klasu v JavaScript class MyClass constructor this myValue1 1 this myValue2 2 const mc new MyClass mc myValue1 mc myValue2 2 Odna z populyarnih tehnologij sho dozvolila zrobiti storinki dinamichnishimi i zabezpechiti novi mozhlivosti ce dinamichne zavantazhennya i vstavka danih v dokument sho otrimala nazvu AJAX Vikoristannya v HTML RedaguvatiPri vikoristanni v ramkah tehnologiyi DHTML JavaScript kod vklyuchayetsya v HTML kod storinki i vikonuyetsya interpretatorom vbudovanim v brauzer Kod JavaScript vstavlyayetsya v tegi lt script gt lt script gt hocha v bilshosti brauzeriv mova scenariyiv za umovchannyam same JavaScript Skript sho vivodit modalne vikno z klasichnim napisom Hello World useredini brauzera lt script gt alert Hello World lt script gt Ye she odna mozhlivist pidklyuchennya JavaScript napisati skript okremim fajlom ta pidklyuchiti jogo za dopomogoyu konstrukciyi lt script src shlyah do fajlu zi skriptom js gt lt script gt Brauzeri yaki dotrimuyutsya koncepciyi integraciyi JavaScript v isnuyuchi sistemi pidtrimuyut vklyuchennya skriptu napriklad u znachennya atributu podiyi lt a href delete php onclick return confirm Vi vpevneni gt Vidaliti lt a gt Pislya natiskannya na posilannya funkciya confirm viklikaye modalne vikno z napisom Vi vpevneni a return false blokuye perehid za posilannyam Cej kod pracyuvatime tilki yaksho v brauzeri vbudovana ta vvimknena pidtrimka JavaScript inakshe perehid za posilannyam vidbudetsya bez poperedzhennya Asinhronni skripti defer async Redaguvati Atributi async i defer vikoristovuyutsya dlya vvimknennya asinhronnogo poryadku zavantazhennya skriptiv Atribut async Redaguvati Pidtrimuyetsya vsima brauzerami krim IE9 Skript vikonuyetsya asinhronno Tobto element span class p lt span span class nt script span span class na async span span class na src span span class o span span class s span span class p gt span vikonuyetsya v moment jogo otrimannya brauzerom Atribut defer Redaguvati Pidtrimuyetsya vsima brauzerami vklyuchno z najstarshimi versiyami IE Skript takozh vikonuyetsya asinhronno ne zmushuye chekati storinku ale ye dvi vidminnosti vid async Persha brauzer garantuye sho vidnosnij poryadok skriptiv z defer bude zberezhenij Tobto v takomu kodi z async pershim pracyuvatime toj skript kotrij shvidshe zavantazhitsya lt script src 1 js async gt lt script gt lt script src 2 js async gt lt script gt A v takomu kodi z defer pershim spracyuye zavzhdi 1 js a skript 2 js navit yaksho zavantazhivsya ranishe bude jogo chekati lt script src 1 js defer gt lt script gt lt script src 2 js defer gt lt script gt Tomu atribut defervikoristovuyut v tih vipadkah koli drugij skript 2 js zalezhit vid pershogo 1 js napriklad vikoristovuye shos opisane pershim skriptom Druga vidminnist skript z defer spracyuye koli ves HTML dokument bude obroblenij brauzerom Napriklad yaksho dokument dosit velikij lt script src async js async gt lt script gt lt script src defer js defer gt lt script gt to skript async js vikonayetsya shojno zavantazhitsya mozhlivo do togo yak ves dokument gotovij A defer js pochekaye gotovnosti vsogo dokumenta Ce buvaye zruchno koli mi v skripti hochemo pracyuvati z dokumentom i povinni buti vpevneni sho vin cilkom otrimanij Tipizaciya RedaguvatiOskilki JavaScript ye interpretovanoyu movoyu programuvannya bez strogoyi tipizaciyi i mozhe vikonuvatisya v riznih seredovishah kozhne zi svoyimi vlasnimi osoblivostyami sumisnosti programist maye buti uvazhnim i povinen pereviryati sho jogo kod vikonuyetsya yak ochikuyetsya v shirokomu pereliku mozhlivih konfiguracij Tipizaciya vvazhayetsya odnoyu z klyuchovih problem JavaScript tomu voseni 2012 roku kompaniya Microsoft prezentuvala movu programuvannya TypeScript sho kompilyuyetsya v JavaScript ta mistit dekilka vazhlivih dlya programistiv dopovnen sho polegshuyut rozrobku Vidlagodzhennya RedaguvatiPri rozrobci velikih i netrivialnih vebzastosunkiv z vikoristannyam JavaScript kritichno vazhlivim ye dostup do instrumentiv vidlagodzhennya Oskilki brauzeri vid riznih virobnikiv desho vidriznyayutsya u povedinci JavaScript i realizaciyi Ob yektnoyi modeli dokumenta neobhidno mati vidlagodzhuvach dlya kozhnogo brauzera yaksho vebzastosunok oriyentovano na nogo Na danij chas Firefox Opera Google Chrome Edge ta Safari mayut znevadzhuvachi dlya sebe Takozh isnuyut taki korisni instrumenti yak ESLint Arhivovano 7 zhovtnya 2017 u Wayback Machine perevirka yakosti kodu sho skanuye JavaScript programu shukayuchi vadi u kodi Prettier Arhivovano 13 veresnya 2017 u Wayback Machine avtomatichne formatuvannya kodu u korektnij viglyad Babel Arhivovano 15 listopada 2016 u Wayback Machine kompilyator JavaScript kodu do starishih versij standartu ECMAScript yakij dopomagaye rozrobnikam vikoristovuvati najnovishi mozhlivosti movi dlya otochennya sho ne vstiglo realizuvati ostannij standart Kozhen blok scenariyu interpretator rozbiraye okremo Na vebstorinkah koli treba kombinuvati bloki JavaScript ta HTML sintaksichni pomilki znajti legshe yaksho zberigati funkciyi scenariyu v okremomu bloci kodu abo she krashe vikoristovuvati bagato malih pov yazanih mizh soboyu js fajliv Takim chinom sintaksichna pomilka ne sprichinyatime padinnya vsiyeyi vebstorinki ta dozvolit spovistiti koristuvacha pro problemu Div takozh RedaguvatiActionScript realizaciya vid Adobe dlya Flash WebAssembly Rhino realizaciya na Java JScript realizaciya v Internet Explorer vid Microsoft DOM ob yektna model dokumenta Firebug AJAX JSON Vebdokumentaciya MDNPrimitki Redaguvati Standard ECMA 262 www ecma international org Arhiv originalu za 18 veresnya 2008 Procitovano 18 sichnya 2021 angl M Miller M Borins M Bynens et al Updates to ECMAScript Media Types IETF 2022 doi 10 17487 RFC9239 d Track Q217082d Track Q111929478 RFC 4329 tools ietf org Arhiv originalu za 27 travnya 2019 Procitovano 21 grudnya 2015 System Declared Uniform Type Identifiers Mac OS X Reference Library Apple Inc Arhiv originalu za 25 grudnya 2018 Procitovano 5 bereznya 2010 ECMAScript Language Specification Arhiv originalu za 12 kvitnya 2015 Procitovano 20 serpnya 2014 Electron NW js React Native Cordova ECMAScript Language Overview PDF 23 zhovtnya 2007 s 4 Arhiv originalu za 13 lipnya 2010 Procitovano 3 travnya 2009 Press release announcing JavaScript Netscape and Sun announce Javascript PR Newswire December 4 1995 TechVision Innovators of the Net Brendan Eich and JavaScript Web archive org Arhiv originalu za 8 lyutogo 2008 Brent Noorda s Answers on ECMA Quora Procitovano 13 kvitnya 2014 ECMAScript 3rd Edition specification PDF Arhiv originalu za 12 kvitnya 2015 Procitovano 26 travnya 2013 Documentation ECMAScript Arhiv originalu za 26 kvitnya 2011 Procitovano 13 kvitnya 2014 a b v ES6 ES8 ES2017 chto takoe ECMAScript i chem eto otlichaetsya ot JavaScript Tproger ru RU 7 veresnya 2017 Arhiv originalu za 8 zhovtnya 2017 Procitovano 8 zhovtnya 2017 Caballero Carlos 28 sichnya 2020 JavaScript ES2018 Features With Examples Medium angl Arhiv originalu za 22 sichnya 2021 Procitovano 18 sichnya 2021 Caballero Carlos 28 sichnya 2020 Twelve ES10 Features in Twelve Simple Examples Medium angl Arhiv originalu za 24 sichnya 2021 Procitovano 18 sichnya 2021 Caballero Carlos 28 sichnya 2020 JavaScript ES2020 Features With Simple Examples Medium angl Arhiv originalu za 24 sichnya 2021 Procitovano 18 sichnya 2021 15 samyh populyarnyh yazykov programmirovaniya po versii GitHub ru RU Arhiv originalu za 8 zhovtnya 2017 Procitovano 8 zhovtnya 2017 JavaScript The World s Most Misunderstood Programming Language Crockford com Arhiv originalu za 7 grudnya 2020 Procitovano 19 travnya 2009 IEEE Spectrum opublikuvala rejting najpopulyarnishih mov programuvannya 2023 roku Avtor Artem Zhitkevich 30 08 2023 Standard built in objects JavaScript MDN developer mozilla org Arhiv originalu za 19 sichnya 2021 Procitovano 18 sichnya 2021 Posilannya RedaguvatiVikishovishe maye multimedijni dani za temoyu JavaScriptOsnovi Java Script https developer mozilla org MDN Web Docs Arhiv originalu za 3 kvitnya 2019 Procitovano 28 kvitnya 2019 ECMA 262 Arhivovano 30 grudnya 2015 u Wayback Machine ECMAScript Language Specification angl Standart ECMA 262 angl tretye vidannya format PDF JavaScript domashnya storinka JavaScript dovidnik Arhivovano 20 lipnya 2012 u Wayback Machine na mozilla org angl Dovidnik z JavaScript versiyi 1 5 1 5 Arhivovano 13 grudnya 2007 u Wayback Machine angl Zmini v novih versiyah JavaScript 1 7 Arhivovano 22 serpnya 2011 u WebCite 1 6 Arhivovano 22 serpnya 2011 u WebCite angl JScript Arhivovano 31 serpnya 2010 u Wayback Machine ta JScript NET Arhivovano 13 serpnya 2010 u Wayback Machine dovidniki na sajti MSDN Library Arhivovano 11 chervnya 2010 u Wayback Machine angl www nakedjavascript com Arhivovano 23 bereznya 2010 u Wayback Machine angl Mozilla JavaScript shells Arhivovano 29 chervnya 2011 u Wayback Machine angl Mozilla Rhino engine JavaScript shell Arhivovano 3 sichnya 2011 u Wayback Machine angl JavaScript dovidka ukrayinskoyu Arhivovano 24 kvitnya 2022 u Wayback Machine Suchasnij pidruchnik z JavaScript nbsp Ce nezavershena stattya pro programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Otrimano z https uk wikipedia org w index php title JavaScript amp oldid 40270235