JavaScript® (ქართ. „ჯავასკრიპტი“, შემოკლებით JS) წარმოადგენს მსუბუქ, ინტერპრეტირებულ, ობიექტზე ორიენტირებულ ენას, პირველი კლასის ფუნქციებით, ცნობილი, როგორც ვებგვერდების შესაქმნელი დაპროგრამების ენა, თუმცა გამოიყენება ბევრ სხვა, ბრაუზერისგან განსხვავებულ გარემოშიც, მაგალითად node.js ან Apache CouchDB-ის სახით. იგი არის პროტოტიპებზე დაფუძნებული, მრავალპარადიგმული დინამიკური ენა, რომელსაც გააჩნია ობიექტზე ორიენტირებული და ფუნქციური დაპროგრამების შესაძლებლობები. ვრცლად, იხილეთ JavaScript-ის შესახებ.

ამ ნაწილში მოცემულია JavaScript ენის ზოგადი აღწერა და არაა განხილული მისი გამოყენება ვებგვერდების შესაქმნელად ან სხვა დანიშნულებით. ვრცლად, უშუალოდ ვებგვერდებთან დაკავშირებით, შეგიძლიათ იხილოთ Web APIs და DOM.

JavaScript სტანდარტს წარმოადგენს ECMAScript. მისი გადამუშავებული ვერსია, გამოდის ყოველი წლის ივნისში. მიმდინარე ვერსია, რომელიც თანამედროვე ბრაუზერებში სრულადაა მხარდაჭერილი არის ECMAScript 8. მოძველებულ ბრაუზერებში მხარდაჭერილია სულ მცირე ECMAScript 3. სტანდარტის მე-9 ვერსია, ECMAScript 2018 გამოვიდა ამა წლის 29 ივნისს, ხოლო ECMAScript 2019 ჯერ მოსამზადებელ ფაზაშია და მზად იქნება, 2019 წლის შუა ხანებისთვის.

JavaScript არ აგერიოთ Java დაპროგრამების ენაში. ორივე, „Java“ და „JavaScript“ წარმოადგენს Oracle-ის რეგისტრირებულ სავაჭრო ნიშნებს, აშშ-სა და საერთაშორისო დონეზე. თუმცა, ამ ორ ენას შორის დასახელების გარდა, სხვა საერთო არაფერია. მათ სრულიად განსხვავებული აგებულება, წესები და სემანტიკა გააჩნია, ამასთან, თითოეული სხვადასხვა დანიშნულებით გამოიყენება. დასახელებების მსგავსება კი გამოწვეულია ორი ათეული წლის წინ, ამ ენების წარმომადგენლებს შორის ურთიერთთანამშრომლობითა და მარკეტინგული მიზნებით გაფორმებული სალიცენზიო შეთანხმებით.

სახელმძღვანელოები

შეისწავლეთ JavaScript-ით დაპროგრამება, მოცემული მასალების დახმარებით.

დამწყებთათვის

თვალი გადაავლეთ ჩვენს განყოფილებას JavaScript-ის შესწავლის თაობაზე, თუ გსურთ შეისწავლოთ JavaScript და არ გაქვთ არანაირი გამოცდილება დაპროგრამებაში. ხელმიწავდომი სრული სასწავლო კრებულები მოცემულია შემდეგი სახით:

JavaScript პირველი ნაბიჯები
პასუხები ძირითად შეკითხვებზე, მაგალითად „რა არის ზოგადად JavaScript?“, „როგორ გამოიყენება?“, „რისი გაკეთება შეიძლება მისით?“, ამასთან, განხილულია JavaScript-ის ისეთი საკვანძო საკითხები, როგორიცაა ცვლადები, სტრიქონები, მაჩვენებლები და მასივები.
JavaScript-ის შემადგენელი ელემენტები
მიმოხილვა JavaScript-ის ძირითადი შესაძლებლობების, ყურადღების მიპყრობა კოდის ისეთი სახის ნაწილებზე, როგორიცაა პირობის შემცველი გამოსახულებები, ციკლები, ფუნქციები და ხდომილებები.
შესავალი JavaScript-ის ობიექტებში
JavaScript-ის ობიექტზე ორიენტირებული ბუნების შეცნობა მნიშვნელოვანია, თუ გსურთ გაიღრმავოთ თქვენი ცოდნა ამ ენაში და დაწეროთ მეტად შედეგიანი კოდი, ნაკლები ძალისხმევით. გამომდინარე აქედან, გთავაზობთ ამ გამოსადეგ მოდულს.

JavaScript გზამკვლევი

JavaScript გზამკვლევი
უფრო ვრცელი მითითებები JavaScript ენასთან დაკავშირებით შესწავლის იმ მსურველთათვის, რომელთაც უკვე გააჩნიათ გარკვეული გამოცდილება დაპროგრამებაში, JavaScript-ში ან სხვა ენაში.

საშუალო ცოდნის მქონეთათვის

კლიენტის მხარის API-ები
კლიენტის მხარეს JavaScript-ის წერისას ვებსაიტების ან პროგრამებისთვის, შორს ვერ წახვალთ, თუ არ გამოიყენებთ API-ებს — მაკავშირებელ საშუალებებს ბრაუზერსა და საოპერაციო სისტემას შორის, რომელზეცაა საიტი გაშვებული და ასევე, სხვა ვებსაიტის ან მომსახურებების მონაცემებთან წვდომისთვის. ამ სასწავლო კრებულში ახსნილია თუ რას წარმოადგენს API-ები და როგორ უნდა ისარგებლოთ იმ ცნობილი და გავრცელებული API-ებით, რომელთაც ხშირად წააწყდებით ხოლმე პროექტის შემუშავების დროს.
JavaScript-ის უკეთ გაცნობა
მიმოხილვა მათთვის, ვინც მიიჩნევს, რომ უკვე კარგად ერკვევა JavaScript-ში.
მონაცემთა აგებულება JavaScript-ში
მონაცმეთა აგებულების განხილვა, რომელიც JavaScript-შია ხელმისაწვდომი.
შედარების ოპერატორები და იგივეობა
JavaScript-ში არის სამი სხვადასხვა სახის შედარების ოპერატორი: ტოლობა სახეობის გათვალისწინებით ===, მხოლოდ მნიშვნელობების ტოლობა  == და Object.is() მეთოდი.

გამოცდილთათვის

მემკვიდრეობითობა და პროტოტიპის ჯაჭვი
ვრცელი ახსნა პროტოტიპზე დაფუძნებული მემკვიდრეობითობის, რომელიც ხშირ შემთხვევაში, არასწორადაა გაგებული ან მისი საჭიროება არასაკმარისადაა შეფასებული.
მკაცრი რეჟიმი
JavaScript-ის შეზღუდული ვარიანტი, რომელიც არ მოგცემთ ცვლადის გამოყენების საშუალებას, მისი წინასწარი განსაზღვრის გარეშე, რაც ასწრაფებს წარმადობასა და ამარტივებს კოდის გამართვას.
JavaScript-ის ტიპიზებული მასივები
JavaScript-ის ტიპიზებული მასივები წარმოადგენს ნედლ ორობით მონაცემებთან წვდომის საშუალებას.
მეხსიერების მართვა
მეხსიერების მუშაობის ციკლი და მისი გაწმენდა (ე.წ. „Garbage collection“) JavaScript-ში.

ცნობარი

მოიძიეთ სრულად JS საცნობარო მასალები.

ძირითადი ობიექტები
არსებული ობიექტების გაცნობა, როგორიცაა Array, Boolean, Date, Error, Function, JSON, Math, Number, Object, RegExp, StringMap, Set, WeakMap, WeakSet, და ა.შ.
გამოსახულებები და ოპერატორები
გაეცანით JavaScript-ის ოპერატორებს, როგორიცაა instanceof, typeof, new, this და ა.შ.
მითითებები და განაცხადები
იხილეთ, თუ როგორ უნდა გამოიყენოთ do-while, for-in, for-of, try-catch, let, var, const, if-else, switch და JavaScript-ის სხვა ბრძანებები ან საკვანძო სიტყვები.
პარალელური დამუშავება და ხდომილების ციკლი
JavaScript-ის „ხდომილების ციკლზე“ დაფუძნებული პარალელური დამუშავების მოდელი.

ხელსაწყოები და სასარგებლო ბმულები

დამხმარე საშუალებები JavaScript კოდის დასაწერად და გასამართად.

Firefox Developer Tools
სამუშაო დაფა, ვებკონსოლი, JavaScript-ის მუშაობის ხარვეზების დამდგენი, გამმართველი და ა.შ.
Firebug
ჩაასწორეთ, გამართეთ და თვალი ადევნეთ CSS, HTML და JavaScript-ს პირდაპირ რეჟიმში, ნებისმიერ ვებგვერდზე.
JavaScript Shells
JavaScript კოდის ცალკეული ნაწილების სწრაფად შემოწმება.
TogetherJS

საშუალება, ერთობლივი მუშაობის გასაადვილებლად.

Stack Overflow
Stack Overflow-ზე არსებული კითხვები ჭდეებით „JavaScript“.
JavaScript ვერსიების და გამოშვების მონაცემები
მოიძიეთ ინფორმაცია JavaScript-ის შესაძლებლობების ისტორიისა და მიმდინარე მდგომარეობის შესახებ.

Join the JavaScript community

Choose your preferred method for joining the discussion:

დოკუმენტების ჭდეები და წვლილის შემტანები

ამ გვერდის შექმნაში, წვლილის შემტანები: Georgianizator, fscholz
ბოლო განახლების ავტორი: Georgianizator,