> For the complete documentation index, see [llms.txt](https://start.bitcamp.ge/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://start.bitcamp.ge/javascript/javascript-overview.md).

# მიმოხილვა

ჯავასკრიპტი მულტი-პარადიგმული, დინამიური ენაა, ტიპებით, ოპერატორებით, სტანდარტული ჩაშენებული ობიექტებით და მეთოდებით. მისი სინტაქსი კი ეფუძნება Java\_ს და C პროგრამულ ენებს და არამარტო ეფუძნება, მოცემული ორი ენიდან ბევრი სტრუქტურის ჯავასკრიპტში გამოყენებაც შეიძლება. ჯავასკრიპტი მხარდაჭერას უწევს ობიექტზე-ორიენტირებულ პროგრამირებასაც, ობიექტური პროტოტიპებით, კლასების მაგიერ. მისი მხარდაჭერა ასევე ვრცელდება ფუნქციონალურ პროგრამირებაზეც, იქიდან გამომდინარე რომ ფუნქციები ობიექტებია, მათი მოთავსება შეიძლება ცვლადებშიც.

პირველ რიგში, დავიწყოთ ტიპებით (types). ჯავასკრიპტის პროგრამები მანიპულირებენ ცვლადებით, ხოლო ეს ცვლადები მიეკუთვნებიან კონკრეტულ ტიპებს, ასევე ეს ტიპები ცნობილია როგორც “მონაცემთა ტიპები”:

* numbers
* strings
* boolean
* objects
* symbol

ასევე undefined და null ტიპები, რომლებიც საკმაოდ ძველია. ასევე აღსანიშნავია `Array` (მასივი), რომელიც შედარებით სპეციალური ტიპის ობიექტია. `Date` და `RegExp` ობიექტები. ტექნიკურად რომ სწორად ავღწეროთ, ფუნქციები უბრალოდ სპეციალური ტიპის ობიექტებია, ამიტომ შეგვიძლია ზემოთა ტიპების დიაგრამა ოდნავ ჩავასწოროთ:

* numbers
* strings
* boolean
* symbol
* objects
  * functions
  * Array
  * Date
  * RegExp
* null
* undefined

და ასევე ჩაშენებული `Error` ტიპები. მაგრამ, საქმეს მეტად გავიმარტივებთ თუ პირველი დიაგრამით ვიხელმძღვანებელებთ, ამიტომ ჯერ-ჯერობით ექსტრა მონაცემების ტიპებს რომლებიც ქვემოთ დავამატეთ, არ განვიხილავთ.
