⊗jsPmBsPPT 60 of 505 menu

პრეფიქსული და პოსტფიქსული ტიპი JavaScript-ში

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

პირველ გზაში ოპერაცია იწერება ცვლადის სახელის შემდეგ, აი ასე: a++, ხოლო მეორე გზაში - ცვლადის სახელის წინ, აი ასე: ++a.

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

დავუშვათ, გვაქვს კოდი alert(a++) და კოდი alert(++a).

alert(a++)-ის შემთხვევაში ცვლადი ჯერ გამოიტანება, შემდეგ კი გაიზრდება ერთით, ხოლო alert(++a)-ის შემთხვევაში ცვლადი ჯერ გაიზრდება ერთით, შემდეგ კი გამოიტანება.

შემდეგ მაგალითში პირველი alert გამოიტანს 0-ს, რადგან თავიდან მოხდება ეკრანზე გამოტანა, ხოლო შემდეგ ცვლადი გაიზრდება:

let num = 0; alert(num++); // გამოიტანს 0-ს alert(num); // გამოიტანს 1-ს

ახლა კი ცვლადი თავიდან გაიზრდება, ხოლო შემდეგ მოხდება ეკრანზე გამოტანა:

let num = 0; alert(++num); // გამოიტანს 1-ს - ცვლადი დაუყოვნებლივ გაიზარდა

მსგავსი ქმედება სამართლიანია არა მხოლოდ ეკრანზე გამოტანისთვის, არამედ მინიჭებისთვისაც:

let num1 = 0; let num2 = num1++; // num2 ცვლადში ჩაიწერება 0 alert(num2); // გამოიტანს 0-ს alert(num1); // გამოიტანს 1-ს - num1 ცვლადი შეიცვალა num2-ში ჩაწერის შემდეგ

ახლა კი პოსტფიქსული ფორმა შევცვალოთ პრეფიქსულით:

let num1 = 0; let num2 = ++num1; // num2 ცვლადში ჩაიწერება 1 alert(num2); // გამოიტანს 1-ს

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

let num = 0; ++num; num++; alert(num); // გამოიტანს 2-ს

კოდის გაშვების გარეშე, დაადგინეთ, რა გამოიტანს ეკრანზე:

let num = 3; alert(++num);

კოდის გაშვების გარეშე, დაადგინეთ, რა გამოიტანს ეკრანზე:

let num = 3; alert(num++);

კოდის გაშვების გარეშე, დაადგინეთ, რა გამოიტანს ეკრანზე:

let num = 3; alert(--num);

კოდის გაშვების გარეშე, დაადგინეთ, რა გამოიტანს ეკრანზე:

let num = 3; alert(num--);

კოდის გაშვების გარეშე, დაადგინეთ, რა გამოიტანს ეკრანზე:

let num1 = 3; let num2 = ++num1; alert(num1); alert(num2);

კოდის გაშვების გარეშე, დაადგინეთ, რა გამოიტანს ეკრანზე:

let num1 = 3; let num2 = num1++; alert(num1); alert(num2);

კოდის გაშვების გარეშე, დაადგინეთ, რა გამოიტანს ეკრანზე:

let num1 = 3; let num2 = --num1; alert(num1); alert(num2);

კოდის გაშვების გარეშე, დაადგინეთ, რა გამოიტანს ეკრანზე:

let num1 = 3; let num2 = num1--; alert(num1); alert(num2);

კოდის გაშვების გარეშე, დაადგინეთ, რა გამოიტანს ეკრანზე:

let num1 = 3; num1++; let num2 = num1--; alert(num1++); alert(--num2);
ქართული
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語Қазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა