Rəqəm (Number)
Rəqəmlər həm rəqəm həm də kəsrlər ola bilər.
Rəqəmlərin üzərində operatorlarla əməliyyatlar aparmaq olar:
Vurma *, Bölmə /, Toplama +, Çıxma -
Normal rəqəmlərdən əlavə xüsusi dəyərlərdə vardır :
İnfinity, - İnfinity və NaN.
// səhv yoxdur
let mesaj = "salam";
mesaj = 123456;
let n = 123;
n = 12.345;
41
• Riyazi sonsuzluq ∞ . Hər hansı rəqəmdən böyük dəyərdir.
Sıfıra bölünmənin nəticəsidir:
alert (1/0); // Sonsuzluq
Və ya sadə olaraq verilə bilər:
alert (İnfinity); // Sonsuzluq
• NaN hesablama zamanı xəta baş verdikdə olur. Məsələn xətalı və ya
bilinməyən riyazi əməliyatın nəticəsidir:
alert ("rəqəm deyil" / 2); // NaN – bu xətalı dəyər NaN döndərəcəkdir:
NaN la aparılan operator əməliyyatları NaN dəyərini döndərəcəkdir:
alert (NaN/ 2 + 5); // NaN
Bu səbəblə riyazi ifadədə NaN varsa, nəticədə NaN olacaqdır.
Javascriptdə bütün riyazi əməliyyatları aparmaq mümkündür. Hər şey
mümkündür: sıfıra bölünmə, rəqəm olmayan dəyər və s.
die()
Bu əməliyyat xəta ilə durmuyacaqdır. (“die”). Ən pis halda NaN olacaqdır.
Xüsusi dəyərlər rəqəm tipinə aiddir. Rəqəmlə bölməsində daha ətraflı
məlumat görəcəyik.
String (yazı)
JavaScriptdəki yazılar dırnağı daxilində olmalıdır.
42
let str = "Salam";
let str2 = 'Tək dırnaqlar içərisində yazıla bilər';
let phrase = `$ {str}` belə də yazılaraq dəyişən köçürülür;
JavaScriptdə 3 növ yazılış şəkli var.
1. İki dırnaq: ”Salam”
2. Tək dırnaq: 'Salam'.
3. Köçürmələr: `Salam`.
Cüt və tək dırnaq sadə dırnaqlardır. Javascriptdə aralarında fərq yoxdur.
Köçürmə şəkli isə inkişaf etdirilmiş funksional dəyərlərdir. Dəyişənləri və
ifadələri $ {…} içərisinə yerləşdirməyə icazə verir. Məsələn:
let name = "Nail"; // dəyişən yaradıldı
alert (`Salam, $ {name}!`); // Salam Nail!
// ifadəyə daxil edildi
alert (`nəticə $ {1 + 2}` dir); // nəticə 3
$ {…} içərisindəki ifadə dəyərini köçürür. Bunun içərisinə istədiyimiz tip yaza
bilərik.Bunu yalnız “ `` ” köməkliyi ilə edə bilərsiniz. Digərlərin bu xüsusiyyət
yoxdur.
alert ("nəticə $ {1 + 2}"); // nəticə $ {1 + 2} 'dir (çüt dırnağın təsiri
olmayacaqdır)
43
Stringlər bölməsində daha ətraflı məlumat veriləcəkdir.
Simvol tipi yoxdur.
Bəzi dillərdə tək simvol üçün xüsusi “simvol” növü vardır. Məsələn C dilində
və Javada char-dır. Javascriptdə belə tip yoxdur. Yalnız string vardır. String bir
vəya bir necə simvolda ibarət ola bilər.
Boolean (məntiqi tip)
Boolean tipi iki dəyərə sahibdir: düzgün və yanlış. Bu tip ümumilikdə bəli/xeyr
dəyərlərini dəyərləri üçün istifadə edilir. True- düzgün, bəli və False – xeyr,
yanlış deməkdir.
Məsələn:
nameFieldChecked = true; // bəli, adlar yoxlanıldı mənasını verir.
ageFieldChecked = false; // xeyr, yaşlar yoxlanılmadı mənasını verir.
Boolean dəyərləri həmdə müqayisənin nəticəsi kimi ola bilər:
let Greater = 4 > 1;
alarm (Greather); // true ( müqayisənin nəticəsi “bəli” dir)
Məntiqi operatorlar bölməsində Boolean tipini daha dərindən öyrənəcik.
44
“Null” dəyəri
Xüsusi null dəyəri yuxarıda izah edilən tiplərdən heç birinə bənzəmir.
Yalnızca boş dəyər üçün ayrı tip vardır :
yash = null;
Javascriptdə null “Mövcüd olamayan” bir şey mənasını verir. Bu sadəcə “heç
bir şey”, “boş” xüsusi dəyərdir.
Yuxarıdakı yazılmış kodda bəzi səbəblərə görə yaşın boş olduğunu görürük.
Bu bizə “null” dəyərini verəcəkdir.
Undefined
Bilinməyən dəyər. Eyni ilə boş göndərilmiş tip kimidir. Undefined-in mənası
“dəyəri olmayan”, “bilinməyən” dir. Bir dəyişəni göstərir. Ancaq dəyəri yoxdur:
let x;
alert (x); // "undefined" göstərəcəkdir.
Texniki olaraq hər hansı dəyişənə undefined etmək mümkündür:
let x = 123;
x = undefined;
alert (x); // "Undefined"
45
Amma bunu məsləhət görmürük. Normalda dəyişənə “boş” və ya
“bilinməyən” dəyər vermək üçün null istifadə edərik və dəyişənin olub
olmadığını yoxlamaq üçün undefined-dən istifadə edirik.
Objectlər və Simvollar
Object tipi xüsusi tipdir. Digər bütün bütün tiplərə başlanğıç səviyyə deyilir.
Çünki bu tiplərdə tək bir şey aid ola bilər (bir rəqəm, yazı və s.). Buna görə də
objectlər vardır. Burada qarışıq məlumatların saxlanması üçün istifadə edilir.
Başlanğıc səviyyəni ətraflı öyrəndikdən sonra daha sonra objectlər haqqında
öyrənəcik.
Simvol tipi – objectlər üçün oxşarı olmayan dəyər yaratmaq üçün istifadə
edilir. Daha yaxşı anlamaq üçün göstərilməlidir. Ancaq object-dən sonra bu
tipə baxmaq məsləhətdir.
Typeof operatoru
Typeof operatoru seçilmiş dəyərin tipini göstərir. Fərqli tiplərdəki dəyərləri
fərqli şəkilə çevirmək istədikdə və ya sadəcə yoxlama məqsədli istifadə edilir.
İki cür yazılış forması var:
1. Operator olaraq: typeof x.
2. Funksiya olaraq: typeof (x).
Başqa sözlə mörtərizə oldu olmadı işləyəcəkdir. Nəticə eynidir.
46
typeof x bizə növün tipinə uyğun string geri qaytaracaqdır:
Son üç sətirin əlavə izah ehtiyacını ola bilər:
1.Riyazi əməliyyatları aparmaq üçün operatorlardan istifadə edəcik. Bunun
haqqında sonrakı bölmədə ətraflı izah veriləcəkdir.
2. Null tipinin yoxlasaq nəticəsi “object” dir. Bu səhvdir. Rəsmi olaraq tanınmış
xətadır. Təbii ki , null object deyildir. Nəticə olaraq dildə olan xətadır.
typeof undefined //
"undefined"
typeof 0 // "rəqəm"
typeof true // "boolean"
typeof "foo" // "string"
typeof Symbol ("id") // "simvol"
typeof Math // "object" (1)
typeof null // "object" (2)
typeof alert // "function" (3)
47
3. typeof alert-in nəticəsi funksiyadır. Çünki dilin funksiyasıdır. Javascriptdə
xüsusi “funksiya” tipi olmadığı sonrakı bölmələrdə baxacıq. Funksiyalar object
tipinə aiddir. Rəsmi olaraq səhvdir. Ancaq praktika olaraq istifadə edilir.
Nəticə
Javascriptdə 7 Data tipi var.
• Rəqəm (Number) tipi: tam ədəd və ya kəsr.
• Yazı (String) tipi: hərf vəya hərflər çoxluğu.
• Boolean tipi: düzgün/ yanlış.
• Null tipi: boş dəyər. Yalnız boş dəyər null olur.
• Undefined tipi: dəyəri bilinməyən.
• Obejct tipi: qarışıq struktura sahib olur. Eyni zamanda həm number həmdə
string-ə sahib ola bilər.
• Simvol- oxşarsız simvollar üçün.
Typeof operatoru, hər hansı dəyişəndə nə tip olduğunu öyrənməyimizə icazə
verir.
• İki cür: typeof x və ya typeof (x).
• "string" kimi tipin adıyla geri qayıdır.
48
• Null üçün “object” -geri qaytarır. Rəsmi olaraq bu xətadır. Null object
deyildir.
Sonrakı bölmələrdə başlanğıç dəyərləri ətraflı öyrənəcik. Daha sonra isə
objectlərə keçid edəcik.
49
10. Data tiplər arasında keçidlər
Operatorlar və funksiyalar onlara verilən dəyərləri avtomatik olaraq düzgün tipə
çevirirlər. Məsələn alert metodu avtomatik olaraq dəyəri göstərmək üçün hər hansı
dəyəri stringə çevirir. Riyazi əməliyyatlarda isə dəyərləri rəqəmlərə çevirir. Düzgün
olarsa dəyəri gözlənilən tipə çevirmək müəyyən hallarda lazım olur. Hələ object
haqqında danışmayacıq. Bunun yerinə başlanğıc səviyyə tiplərə baxacağıq. Daha
sonra objectlər haqqında məlumat verdikdən sonra objecti çevirmə haqqında
danışacağıq.
ToString
Yazı tipinə çevirmə. Dəyərin string tipində ehtiyacımız olduğu halda istifadə edilir.
Məsələn, alert(deyer) deyeri göstərmək üçün çevirmə aparacaqdır.
Dəyəri stringə çevirmək üçün String(value) metodunu da istifadə edə bilərik:
String çevirmələri olduqca sadədir.
ToNumber
Ədədə çevirmək üçün istifadə edilir. Riyazi funksiyalar və ifadələrdə avtomatik
olaraq çevirilir.
let deyer = true;
alert (typeof deyer); // boolean
deyer = String (deyer); // indi dəyər “true” stringidir.
Alert (typeof deyer); // string
50
Məsələn, bölünmə/ ədəd olmayan tipdə istifadə edildikdə:
alert ("6" / "2"); // 3, stringlər ədədlərə çevirildi.
Dəyəri ədədə çevirmək üçün Number() metodunu istifadə edə bilərsiniz:
Bu çevrilmələr ümumilikdə forumda əgər istifadəçinin daxil etdiyi dəyərin yalnız
ədəd istədiyimiz hallarda istifadə edə bilərik.
String rəqəm deyilsə, çevrilmənin nəticəsi NaN olacaqdır. Məsələn:
Ədəd çevrilmələrinin qaydaları:
Dəyər Gözlənilən
undefined NaN
null 0
true və false 1 ve 0
string Başlanğıçdan və sonra boşluq silinir.
let str = "123";
alert (typeof str); // string
num = Number (str); // 123 rəqəmdir
alert (typeof num); // ədəd
let age = Number ("ədəd yerinə istənilən yazı");
alert (age); // NaN, çevrilmə uğursuz oldu
51
Qalan string boşdursa, nəticə 0 -dır. Əks təqdirdə string oxunacaqdır. Xəta olduqda
NaN olacaqdır.
Nümunələr:
alert (Number ("123")); // 123
alert (Number ("123z")); // NaN ("z" hərfi xətaya səbəb oldu)
alert (Number (true)); // 1
alert (Number (false)); // 0
Yadda saxlayın null və undefined tiplərinində fərqli olur. Null tipi 0 qaytaracaq.
Undefined isə NaN geri qaytaracaqdır.
'+' Stringləri birləşdirir.
Demək olarki, bütün riyazi operatorlar dəyərləri ədədə çevirir. İstisna hal olaraq
toplama + operatoru birləşdirmə funksiyasıı yerinə yetirir. Ancaq dəyərlərdən biri
stringdirsə , digərinidə stringə çevirib birləşdirir:
alert (1 + '2'); // '12' (sağda string)
alert ('1' + 2); // '12' (solda string)
Bu sadəcə dəyişənlərdən ən az biri string olduğunda olur. Əks halda dəyərlər
number olacaqdır.
ToBoolean
52
Boolean çevrilməsi ən sadəsidir.
Məntiqi metodları reallaşdırır (daha sonra halları test edir və oxşar şeyləri yerinə
yetirir). Ancaq bunu Boolean() ilə etmək mümkündür.
Çevrilmə qaydası:
• Null olan dəyər həmçinin 0-da ola bilər,(null, undefined və NaN) dəyərləri səhv
olur.
• Digər dəyərləri true olaraq geri qaytaracaqdır.
Məsələn:
alert (Boolean (1)); // düzgün
alert (Boolean (0)); // yanlış
alert (Boolean ("salam")); // düzgün
alert (Boolean (" ")); // yanlış
Diqqət: Sıfır “0” olan string səhvdir. Bəzi dillərdə (yəni PHP) “0” olan string
düzgündür. Ancaq Javascriptdə boş olmayan string hər zaman düzdür.
alert (Boolean ("0")); // false
alert (Boolean ("")); // boşluq, həm də true (boş olmayan hər hansı string true geri
qaytarcaqdır)
Nəticə
Ən çox istifadə olunan 3 növ çevrilmə vardır. String, Number və Booleana keçiddir.
53
ToString – Bir şey yazdığımızda ortaya çıxır. String(deyer) ilə edilə bilər. String keçid
ümumilikdə mümkündür.
ToNumber – Riyazi əməliyyatlarda ortaya çıxır. Number() ilə çevirmək mümkündür.
Dəyər Nəticə
Undefined NaN
Null 0
true / false 1/0
string String, “olduğu kimi” oxunur, hər iki tərəfdən boşluğu silər. Boş
string 0 olur. Xəta olduqda NaN olur.
ToBoolean – Məntiqi tipə çevirir. Boolean(value) ilə edilə bilər.
Qaydalar:
Dəyər Nəticə
0, null, undefined, NaN, " " false
Başqa hər hansı dəyər true
Bu qaydaların çoxunu başa düşmək və yadda saxlamaq asandır. Developerlərin
ümumilikdə xətaları bunlardır:
• undefined və NaN numberdir, 0 deyildir.
• "0" və "" kimi striglər boolean olaraq true olaraq geri qaytarır.
54
Objectlər barəsində məlumat verilməmişdir. Onlara daha sonra Javascript haqqında
başlanğıc səviyyəni öyrəndikdən sonra, yalnızca objectlərə ayrılmış bölmədə izah
verilmişdir.
55
11.
Operatorlar
Məktəbdə operatorlar haqqında bilirik. Bunlar toplama +, vurma *, çıxma –
və s. Bu bölmədə məktəbdə görmədiyimiz operatorların xüsusiyyətinə
baxacıq.
Terminlər: “unary”, “binary”, “operand”
Davam etmədən əvvəl, bəzi terminlərin izahına baxaq:
Operator- əməliyyat aparmaq üçün istifadə edilir. Məsələn 5*2 -burada 2
hədd vardır. Bəzən “hədd” yerinə “arqument” deyilir.
Unary- tək elementə aid olan operatordur. Ədədi tərsinə çevirir.
Normalda operatorlar 2 ədəd arasında olur.
let
x = 1;
x = -x;
alert (x); // -1, unary operatoru istifadə edildi.
x = 1, y = 3;
alert (y - x); // 2, çıxma operatoru işlədildi.
56
İki fərqli operator haqqında danışacıq: tək tərəfli: tərs çevirmə operatoru
(unary) və çıxma operatoru
String (yazı birləşdirmə) operatoru +
İndi, Javascript operatorlarının məktəb operatorlarında fərqli xüsusiyyətlərinə
baxaq. Ümumilikdə toplama operatoru ədədləri toplayır.
Ancaq , stringlərdə istifadə olunarsa, bunları birləşdirəcəkdir:
Arqumentlərdən biri string digəri isə ədəddirsə, digərinidə stringə
çevirəcəkdir.
Məsələn:
String arqumentinin ilk vəya ikinci olması fərq etmir. Qayda sadədir- Hər
hansı arqumentdən biri stringdirsə, ikincisidə stringə çevriləcəkdir.
s = "my" + "string";
alert (s); // mystring
alert ('1' + 2); // "12"
alert (2 + '1'); // "21"
57
Ancaq əməliyyatın soldan sağa tərəf işlədiyini yaddan çıxarmıyın. Stringdən
əvvəl ədədlər varsa, əvvəlcə onları toplayıb sonra birləşdirəcəkdir:
String birləşdirmə və çevirmə + -un xüsusiyyətidir. Digər operatorlarda
sadəcə ədədlər üçün istifadə edilir.
Məsələn çıxma və bölmə:
Unary-də + operatorundan istifadə
+ iki əməliyyat üçün istifadə edilir.Yuxarıda istifadə etdiyimiz və Unary-də
Unary -də istifadə olunan + operatoru heç bir təsiri yoxdur. Ancaq arqument
rəqəmdə deyilsə, unary + ilə ədədə çevriləcəkdir.
Məsələn:
alert (2 + 2 + '1'); // "41"-dir. Nəticə "221" deyildir.
alert (2 - '1'); // 1
alert ('6' / '2'); // 3
58
Əslində number() ilə eyni funksiyanı yerinə yetirir. Ancaq daha qısadır.
Stringləri ədədlərə çevirmək çox qarşımıza çıxacaqdır. Məsələn HTML formda
gələn dəyərlər ümumi halda stringlərdir.
Onları toplamaq istəsək bəs?
+ bunları string olar əlavə edər:
//Rəqəmlərə təsiri yoxdur.
let x = 1;
alert (+ x); // 1
let
y = -2;
alert (+ y); // -2
// Rəqəmləri çevirməz
alert (+ true); // 1
alert (+ ""); // 0
59
Onları ədəd olaraq istəyiriksə, çevirmələyik və sonra toplamalıyıq:
Riyaziyyatçılara görə + çoxluğu qəribə görünə bilər. Ancaq developerə görə
heçdə qəribə deyildir. İlk əvvəl unary + çevirir, stringlər ədədlərə çevrili.
Sonra isə toplanacaqdır.
Niyə unary+-lar dəyərdən əvvələ yazılır? Bunun əsas səbəbi vardır.
let alma= "2";
let portağal = "3";
alert (alma + portağal); // "23", stringləri birləşdirdi.
let alma= "2";
let portağal = "3";
// unary + ilə ədədlər ədədlərə çevriləcəkdir.
alert (+ alma + + portağal); // 5
// uzun versiya
// alert (Number (alma) + Number (portağal)); // 5
60
Operatorların sırası
İfadədə birdən çox arqument vardırsa, operator sırasına görə əməliyyatlar
sıralanacaqdır.
Məktəbdən bilirik ki , 1+2*2 ifadəsindəki vurma toplamadan əvvəl
hesablanmalıdı. Bu operator sıralamasıdır. Vurmanın daha əvvəl aparılması
bilinir.
Mörtərizələr hər hansı sıranı pozar. Bu səbəblə sıranı xoşlamadıqda
dəyişdirmək mümkündür. Məsələn (1+2)*2 yazın.
Javascriptdə çox operator vardır. Hər operatorun sırası vardır. İlk əvvəl sırası
böyük olan işləyəcəkdir. Əgər eyni operatordursa, soldan sağa doğru
işləyəcəkdir.
Operator sıralama cədvəli (bunu yadda saxlamağa ehtiyac yoxdur,ancaq
unary operatorlarunun nədən böyük olduğuna fikir verin):
61
Operator sıralaması
Gördüğümüz kimi, "unary +"(16) cəm(13)-dən böyükdür. Bu səbəblə
“+alma++portağal” ifadəsində unary+ toplamadan əvvəl işləyir.
... ... ...
16 unary plus +
16 unary negation -
14 vurma *
14 bölmə /
13 toplama +
13 çıxma -
... ... ...
3 bərabərlik =
... ... ...
Gördüyünüz kimi , “unary +”, 13
62
Bu səbəblə, "+ almalar ++ portağallar" ifadesinde, unary cəmdən əvvəl
işləyir.
Bərabərlik
Bərabərlik = eyni zamanda operator olduğunu bilməliyik. Cədvəldə 3-dür. Bu
səbəblə, x=2*2+1 kimi dəyişənə bərabər etdikdə, əvvəl hesablama aparılır və
sonradan nəticə x-ə əlavə edilir.
Bərabərlikləri çoxaltmaq mümkündür:
Çoxaltdıqda əməliyyat sağdan sola doğru aparılacaqdır. İlk əvvəl ən sağdakı
2+2 ifadəsi hesablanacaq və sonra soldakı dəyişənlərə veriləcəkdir: c, b və a.
Sonda isə bütün dəyişənlər eyni dəyərə sahib olacaqdır.
Bərabərlik operatoru “=” dəyər geri qaytarır.
let x = 2 * 2 + 1;
alert (x); // 5
a, b, c;
a = b = c = 2 + 2;
alert (a); // 4
alert (b); // 4
alert (c); // 4
63
Bu əməliyyat zamanı həmişə bir dəyər geri qayıtmalıdır. Bu toplama+ vəya
vurma * kimi çox əməliyyata aiddir. Ancaq bərabərlik operatoru də qayda ilə
işləyir.
x=dəyər çağırdıqda, dəyəri x-in içinə yazar və sonra geri qaytarar.
Qarışıq ifadədənin bir hissəsi olan nümunədə bərabərliyə baxaq :
Yuxarıdakı nümunədə ifadənin nəticəsi (a=b+1), a(3) olaraq dəyərini almışdır.
Daha sonra başqa ifadələrdə istifadə ediləcəkdir.
Kodun necə işlədiyini başa düşməliyik. Çünki Javascript kitablarında
nümunələr görürük və başa düşmürük. Bunun üçün kodları birdə özünü
yazmalısınız. Yoxlayın.
Qalıq (Modules) %
Qalıq operatoru % faizlə əlaqəsi yoxdur.
Qalıq – a və b arasındakı bölmə əməliyyatı nəticəsində qalan ədəddir.
Məsələn:
let a = 1;
b = 2;
c = 3 - (a = b + 1);
alert (a); // 3
alert (c); // 0
64
Qüvvət **
Qüvvət – a-nın b dəfə bir-birinə vurulmasıdır.
Nümunə:
Operator tam ədəd olmayan üçündə işləyir.
Nümunə:
alert (4 ** (1/2)); // 2 (1 / 2'nin kvadratı kökaltı ilə eynidir, riyaziyyat)
alarm (8 ** (1/3)); // 2 (1/3 kvadratı kub kökaltıya bərabərdir)
Artırma/azaltma
Ədədi bir-bir artımaq vəya azaltmaq ən çox istifadə edilən əməliyyatlardan
biridir.
Yəni, bunun üçün xüsusi operator var:
alert ( 5 % 2); // 1, 5 böl 2
alert ( 8 % 3); // 2, 8 böl 3
alert ( 6 % 3); // 0, 6 böl 3'ün qalığıdır.
alert (2 ** 2); // 4 (2 * 2)
alert (2 ** 3); // 8 (2 * 2 * 2)
alert (2 ** 4); // 16 (2 * 2 * 2 * 2)
65
Artırma ++ , dəyişənin artımı 1 olacaqdır:
• let counter = 2;
• counter ++; // counter = counter + 1 ilə eyni şəkildə işləyəcəkdir. Ancaq
daha qısa yazılış şəklidir.
alert (counter); // 3
• Azaltma – dəyişənin azalması 1 olacaqdır:
• let counter = 2;
• counter--; // counter = counter - 1 ilə eyni şəkildə işləyəcəkdir. Ancaq
daha qısa yazılışdır.
alert (counter); // 1
Qeyd: artma/azalma sadəcə dəyişənlərə istifadə edilə bilər. 5++ kimi istifadə
də xətaya səbəb olacaqdır. ++ və -- operatorları dəyişəndən əvvəl vəya sonra
yazıla bilər. Operator dəyişəndən sonra yazıldıqda “postfix form” adlanır.
Operator dəyişəndən əvvəl yazıldıqda “prefix form” adlanır. Bu ifadələrin hər
ikisidə eyni əməliyyatı aparır: counteri 1 artırın. Fərq varmı? Bəli, ancaq ++/-
ni istifadə etsək görə biləcik.
İzah edim : Bildiyimiz kimi bütün operatorlar bir dəyər geri qaytarır.
Artma/azalma isə istisna deyildir. Postfix yeni dəyəri verərkən, prefix form
bizə əvvəlki dəyəri geri qaytarır.
66
Fərqi görmək üçün nümunə :
let counter = 1;
a = ++ counter olsun; // (*)
alert (a) ' // 2
Sətirdə (*), prefix form ++ counter- counterin dəyərini artıracaqdır və dəyəri
2 döndərəcəkdir.
İndi postfix istifadə edək:
let counter = 1;
a = counter ++ olsun; // (*) ++ counter- counter ++ ilə dəyişdirildi
alert (a) ' // 1
Sətirdə (*) postfix form counter ++ da counter-i artırır ancaq əvvəlki dəyəri
geri qaytarır (artımdan əvvəl). Yəni, alert 1 göstərir.
Dostları ilə paylaş: |