JavaScript/Kintamieji ir priskyrimo operatorius

JAVASCRIPT PROGRAMAVIMO PAGRINDAI
(instrukcinis vadovas pradedantiesiems) keisti

Kintamieji ir priskyrimo operatorius keisti


Praktikoje programavimas nebūtų daug ko vertas, jei operuotų nekintančiais duomenimis. Nėra sunku nustatyti, kad skaičius 2 yra didesnis už skaičių 1 ir tai ušrašyti ekspresija „2>1". Programavimo pranašumas yra apdorojant daugelį duomenų, atliekant pasikartojančias operacijas ar operacijas su kintančiais duomenimis.

Programose dažniausiai naudojami kintamieji. Kas yra kintamasis JS?

Kintamasis (variable)  –  tai programuotojo sukurta atminties celė, turinti savo vardą (identifier) ir priskirtą kodo fragmentą: ekspresiją, steitmentą, duomenį ar kompleksišką kodo fragmentą. Išjungus JS virtualią aplinką visi kintamieji ištrinami iš atminties ir juos reikia sukurti iš naujo.

Kintamojo paskelbimas su ar be priskirtos vertės vadinamas deklaracija (declaration). Priskyrimo operatorius JS žymimas ženklu „=".

Pavyzdys. Sukurkime kintamąjį vardu „k" ir priskirkime jam apskritimo perimetro skaičiavimo formulę pagal spindulį. Matematikoje tai būtų užrašyta taip: k = 2πr, kur π  –  skaičius Pi, r  –  apskritimo spindulys. Ar JS žino skaičių Pi? Taip. Mes to dar nesimokėme, bet patikėkite, kad „Math.PI" ekspresija grąžins mums skaičių Pi. O kas yra „r"? Dar vienas kintamasis. Juk apskritimo spindulys gali būti įvairus, tad šį kintamąjį irgi reikės deklaruoti. JS skaito kodą iš kairės į dešinę, tad kintamąjį „r" reikės deklaruoti pirmiau nei kintamąjį „k", kitaip JS negalės apskaičiuoti „k" nežinodama „r".

  • Math.PI;
  • r = 10; k = 2*Math.PI*r;

Priskyrimo operatorius (ženklas „=") nėra tas pats, kas lygybė, ir JS kintamieji nėra tas pats, kas nežinomieji „x", „y" algebroje. Teisingas užrašymo „r = 10" perskaitymas JS skamba taip: „kintamajam r priskirta skaičiaus vertė 10". JS visuomet įvertina duomenis, ekspresiją, steitmentą priskyrimo operatoriaus dešinėje ir tuomet priskiria kintamajam jo kairėje.

Užduotis. Susipažinkite su kodu ir savarankiškai pasakykite, kokio tipo ir kokios vertės duomenį JS grąžins konsolėje.

  • a = "Mano vardas "; b = "yra Tomas"; k = a+b;

Parašykite savo kodo eilutes. Galite jas padaryti sudėtingas ir pasitikrinkite, ar sugebate sekti veiksmų eigą.

Pavyzdys. Sakykime, kodas yra toks:

  • c = "yra Saulius"; (a+b != a+c) ? "TAIP" : "NE";

Šio kodo eilutėje kintamajam „c" priskyrėme teksto vertę "yra Saulius". Po to sudarėme sąlygos ekspresiją, kuri patikrins teiginį, ar ekspresija a+b negriežtai nelygi ekspresijai a+c? Jei taip (true), tai grąžins tekstą "TAIP", o, jei ne (false), grąžins tekstą "NE".

Atkreipkite dėmesį, kad, jei neištrynėte ankstesnių „a" ir „b" kintamųjų, JS atsimena jų vertes.