ოპერაციები და ოპერატორები

ოპერაციები

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

ოპერანდების რაოდენობიდან გამომდინარე JavaScript-ში ოპერაია შეიძლება იყოს:

  • უნარული - როდესაც ოპერაციაში მხოლოდ ერთ ოპერანდია
  • ბინარული - როდესაც ოპერაციაში ორი ოპერანდია
  • ტერნარული - როდესაც ოპერაციაში სამი ოპერანდის კომბინაცია არის პირობითი გამოსახულებით

შინაარსობრივი თვალსაზრისით კი ოპერაციები შესაძლებელია დაიყოს შემდეგ სახეებად:

  • არითმეტიკული ოპერაციები
  • შედარების ოპერაციები
  • სტრიქონული ოპერაციები
  • ლოგიკური ოპერაციები
  • მინიჭების ოპერაციები

არითმეტიკული ოპერაციები

არითმეტიკულ ოპერაციებში იგულისხმება: მიმატება, გამოკლება, გამრავლება, გაყოფა, ნაშთი და ხარისხი.

ოპერატორის სიმბოლო ოპერაცია მაგალითი
+ შეკრება 2+2=4
- გამოკლება 22-2=20
* გამრავლება 2*4=8
/ გაყოფა 22/2=11
% ნაშთი 8%6=2
** ხარისხი 2**4=16

ინკრემენტ და დეკრემენტ ოპერაციები

ინკრემენტ და დეკრემენტ ოპერაციები წარმოადგენს უნარული ოპერაციების ნიმუშს. ინკრემენტი პასუხისმგებელია გაზარდოს ცვლადისმ ნიშვნელობა ერთის (++i ან i++) ხოლო დეკრემენტი პასუხისმგებელია შეამციროს ცვლადის მნიშვნელობა ერთით (--i ან i--).

ინკრემენტ, დეკრემენტის i++ და ++i (როგორც i-- და --i), ვიზუალურად კი გავს ერთმანეთს ჩანაწერი თუმცა მცირედი განსხვავებები გააჩნია მოქმედებებში. თუ ჩაწერილია ოპერაცია ოპერანდის შემდგომ მაშინ გაზრდა (ან შემცირება) მოხდება მიმდინარე გამოსახულების შემდგომ, ხოლო თუ ოპერაცია ჩწერილია ოპერანდამდე მაშინ ჯერ გაიზრდება(ან შემცირდება) მნიშვნელობა. მაგალითად:

JS
// შემთხვევა როცა ინკრემენტი ოპერანდის შემდგომ წერია
let i = 0;
console.log(i++); // 0
console.log(i); // 1
// შემთხვევა როცა ინკრემენტი ოპერანდამდე წერია
let j = 0;
console.log(++j); // 1
console.log(j); // 1
// შემთხვევა როცა დეკრემენტი ოპერანდამდე წერია
let k = 0;
console.log(k--); // 0
console.log(k); // -1
// შემთხვევა როცა დეკრემენტი ოპერანდამდე წერია
let l = 0;
console.log(--l); // -1
console.log(l); // -1

შედარების ოპერაციები

შედარების ოპერაციების საშუალებით ხდება სხვადასხვა ტიპის ცვლადების მნიშვნელობების შედარება და მიიღება ორი შედეგი: true ან false.

ოპერაციის სიმბოლო შედარება მაგალითი მნიშვნელობა
== უდრის (ტოლია, ექვივალენტურია) 2 == "2" true
=== მკაცრი შედარება (მოწმდება, როგორც მნიშვნელობა ასევე ტიპიც) 2 === "2" false
!= არ უდრის 4 != "4" false
!== მკაცრი არ უდრის (მოწმდება, როგორც მნიშვნელობა ასევე ტიპიც) 4 !== "4" true
> მეტია 5 > 4 true
< ნაკლებია 5 < 4 false
>= მეტია ან ტოლი 8 >= 8 true
<= ნაკლებია ან ტოლი 8 <= 8 true

სტრიქონული ოპერაციები

ძირითადი სტრიქონული ოპერაცია არის კონკატენაცია (concatenation), რაც გაერთიანებას ნიშნავს. ეს ოპერაცია ახდენს სტრიქონების გაერთიანებას დამატების ოპერაციის (+) საშუალებით მაგალითად:

JS
console.log('2' + '2'); // "22"

კონკატენაციის დროს არსებობს კერძო შემთხვევები, როცა სტრიქონული ტიპის ელემენტის დამატება ხდება რიცხობრივ ტიპთან, ასეთ დროს ერთიანდება ტექსტურ ტიპად, სხვა არითმეტიკულ ოპერაციებში, სტრიქონები გარდაიქმნება, როგორც რიცხვად თუ მოქმედების შესრულება არითმეტიკულად შეუძლებელია, მაშინ მივიღებთ NaN მნიშვნელობას. მაგალითები:

JS
console.log('2' + '4' + '5'); // "245"
console.log('2' + 4 + 5); // "245"
console.log(4 + '2' + 5); // "425"
console.log(4 + 5 + '2'); // "92"
console.log('4' - 2); // 2
console.log('8' / 2); // 4
console.log('4' * 4); // 16
console.log('4' ** 4); // 256
console.log('2a' + 1); // "2a1"
console.log('2a' - 1); // NaN

ლოგიკური ოპერაციები

ლოგიკური ოპერაციები შეგვიძლია წარმოვადგინოთ, როგორც ბულის ალგებრა:

  • კონიუქცია - ლოგიკური "და", პროგრამირებაში ეწოდება "AND", აღნიშვნა &&
  • დიზუნქცია - ლოგიკური "ან", პროგრამირებაში ეწოდება "OR", აღნიშვნა ||
  • უარყოფა - ლოგიკური "უარყოფა", პროგრამირებაში ეწოდება "NOT", აღნიშვნა !

ლოგიკური მნიშვნელობების, ურთიერთქმედებები:

ლოგიკური "და" ("AND"):

X Y X && Y
true true true
true false false
false true false
false false false

ლოგიკური "ან" ("OR"):

X Y X | | Y
true true true
true false true
false true true
false false false

ლოგიკური "უარყოფა" ("NOT"):

X !X
true false
false true

მინიჭების ოპერაციები

მინიჭების ოპერაციები მიეკუთვნებიან უნარული ოპერაციების ტიპებს, ისევე როგორც ინკრემენტი და დეკრემენტი.

ოპერაციის სიმბოლო ოპერაცია მაგალითი მნიშვნელობა
= მნიშვნელობის მინიჭება x = 22 x = 22
+= შეკრება და მინიჭება x +=2 x = x + 2
-= გამოკლება და მინიჭება x -= 2 x = x - 2
*= გამრავლება და მინიჭება x *= 2 x = x * 2
/= გაყოფა და მინიჭება x /= 2 x = x / 2
%= ნაშთი და მინიჭება x %= 2 x = x % 2