Skip to content

Commit ade7615

Browse files
authored
Update article.md
1 parent bd18ef3 commit ade7615

File tree

1 file changed

+62
-62
lines changed

1 file changed

+62
-62
lines changed

1-js/02-first-steps/04-variables/article.md

+62-62
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
# Kintamieji (ang. variables)
1+
# Kintamieji
22

33
Dažniausiai JavaScript paraiška turi dirbti su informacija. Štai du pavyzdžiai:
44
1. Internetinė parduotuvė -- informacija gali apimti parduodamas prekes ir pirkimo krepšelį.
55
2. Pokalbių programėlė -- informacija gali apimti vartotojus, žinutes ir daug daugiau.
66

7-
Kintamieji yra naudojami tam, kad kauptų šią informaciją.
7+
Kintamieji (ang. variables) yra naudojami tam, kad kauptų šią informaciją.
88

99
## Kintamasis
1010

1111
[Kintamasis](https://en.wikipedia.org/wiki/Variable_(computer_science)) yra "įvardinta saugykla" duomenims. Mes galime naudoti kintamuosius, kad kauptume gėrybes, lankytojus ir kitus duomenis.
1212

1313
Norėdami sukurti kintamąjį su JavaScript, naudokite `let` raktinį žodį (ang. "keyword").
1414

15-
Žemiau esantis pareiškimas sukuria (kitais žodžiais: *declaruoja* ang.*declares*) kintamąjį su pavadinimu "message":
15+
Žemiau esantis pareiškimas sukuria (kitais žodžiais: *deklaruoja* ang.*declares*) kintamąjį su pavadinimu "message":
1616

1717
```js
1818
let message;
@@ -53,9 +53,9 @@ Mes taip pat galime deklaruoti kelis kintamuosius vienoje eilėje:
5353
let user = 'John', age = 25, message = 'Labas';
5454
```
5555

56-
Tai atrodo trumpiau, bet iš tikrųjų mes nerekomenduojame taip daryti. Tam, kad būtų lengviau perskaityti kodą, prašau, naudokite vieną eilę kiekvienam kintamajam.
56+
Taip atrodo trumpiau, bet iš tikrųjų nerekomenduojame taip daryti. Tam, kad būtų lengviau perskaityti kodą, rekomenduojame naudoti atskirą eilę kiekvienam kintamajam.
5757

58-
Kelių eilučių variantas ilgesnis, bet jį lengviau perskaityti:
58+
Kelių eilių variantas ilgesnis, bet jį lengviau perskaityti:
5959

6060
```js
6161
let user = 'John';
@@ -88,14 +88,14 @@ Senesniuose skriptuose galite rasti raktažodį: `var` vietoje `let`:
8888
*!*var*/!* message = 'Labas';
8989
```
9090

91-
Raktažodis `var` yra *beveik* tas pats kaip `let`. Jis taip pat deklaruoja kintamąjį, bet šiekt eik kitokiu, "senoviniu" būdu.
91+
Raktažodis `var` yra *beveik* tas pats kaip `let`. Jis taip pat deklaruoja kintamąjį, bet šiek tiek kitokiu, "senoviniu" būdu.
9292

9393
Yra subtilūs skirtumai tarp `let` ir `var`, bet kol kas jie mums nėra svarbūs. Mes apie juos kalbėsime detaliau skyriuje <info:var>.
9494
````
9595
9696
## Tikro gyvenimo analogija
9797
98-
Mes galime lengviau suprasti "kintamojo" sąvoką jeigu įsivaizduotume jį kaip "dėžę" skirtą duomenims ant kurios priklijuotas unikaliai pavadintas lipdukas.
98+
Tam kad būtų lengviau suprasti "kintamojo" sąvoką, įsivaizduokime jį kaip "dėžę" skirtą sudėti duomenims, ant kurios priklijuotas unikaliai pavadintas lipdukas.
9999
100100
Pavyzdžiui kintamąjį `message` galime įsivaizduoti kaip dėžę su etikete `"message"`, kurios viduje yra patalpinta vertė `"Labas!"`:
101101
@@ -161,154 +161,154 @@ Kai pavadinimas susideda iš kelių žodžių, dažniausiai naudojamas [camelCas
161161
162162
Įdomu -- dolerio `'$'` ir pabrėžimo `'_'` ženklai gali būti naudojami pavadinimuose. Jie yra normalūs simboliai, taip pat kaip raidės, be jokios ypatingos reikšmės.
163163
164-
These names are valid:
164+
Šie pavadinimai yra tinkami:
165165
166166
```js run untrusted
167-
let $ = 1; // declared a variable with the name "$"
168-
let _ = 2; // and now a variable with the name "_"
167+
let $ = 1; // deklaruotas kintamasis su pavadinimu "$"
168+
let _ = 2; // o dabar kintamasis su pavadinimu "_"
169169
170170
alert($ + _); // 3
171171
```
172172
173-
Examples of incorrect variable names:
173+
Pavyzdžiai neteisingų pavadinimų kintamiesiems:
174174
175175
```js no-beautify
176-
let 1a; // cannot start with a digit
176+
let 1a; // negali prasidėti skaičiumi
177177
178-
let my-name; // hyphens '-' aren't allowed in the name
178+
let my-name; // brūkšniai '-' pavadinime neleidžiami
179179
```
180180
181181
```smart header="Case matters"
182-
Variables named `apple` and `AppLE` are two different variables.
182+
Kintamieji su pavadinimais `obuolys` ir `obuoLYS` yra du skirtingi kintamieji.
183183
```
184184
185185
````smart header="Non-Latin letters are allowed, but not recommended"
186-
It is possible to use any language, including cyrillic letters or even hieroglyphs, like this:
186+
Yra galima naudoti bet kokią kalbą, net kirilicos raides ar hieroglifus kaip pavyzdyje:
187187
188188
```js
189189
let имя = '...';
190190
let 我 = '...';
191191
```
192192
193-
Technically, there is no error here, such names are allowed, but there is an international tradition to use English in variable names. Even if we're writing a small script, it may have a long life ahead. People from other countries may need to read it some time.
193+
Techniškai jokios klaidos tame nėra ir tokie pavadinimai yra leistini, tačiau tarptautinė tradicija yra naudoti angliškus kintamųjų pavadinimus. Net jeigu rašome trumpą skriptą, jo gyvenimas gali būti labai ilgas. Kada nors žmonėms iš kitų šalių gali tekti jį perskaityti.
194194
````
195195

196-
````warn header="Reserved names"
197-
There is a [list of reserved words](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Keywords), which cannot be used as variable names because they are used by the language itself.
196+
````warn header="Rezervuoti pavadinimai"
197+
Yra [rezervuotų žodžių sąrašas](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Keywords), kurių negalima naudoti kaip kintamųjų, nes šie žodžiai yra naudojami pačioje kalboje.
198198
199-
For example: `let`, `class`, `return`, and `function` are reserved.
199+
Pavyzdžiui: `let`, `class`, `return` ir `function` yra rezervuoti.
200200
201-
The code below gives a syntax error:
201+
Kodas apačioje atiduoda sintaksės klaidą:
202202
203203
```js run no-beautify
204-
let let = 5; // can't name a variable "let", error!
205-
let return = 5; // also can't name it "return", error!
204+
let let = 5; // negalima kintamojo pavadinti "let", klaida!
205+
let return = 5; // taip pat negalima pavadinti "return", klaida!
206206
```
207207
````
208208

209-
````warn header="An assignment without `use strict`"
209+
````warn header="Paskyrimas be `use strict`"
210210

211-
Normally, we need to define a variable before using it. But in the old times, it was technically possible to create a variable by a mere assignment of the value without using `let`. This still works now if we don't put `use strict` in our scripts to maintain compatibility with old scripts.
211+
Dažniausiai, mums reikia apibrėžti kintamąjį prieš jį naudojant. Bet seniau techniškai buvo galima sukurti kintamąjį tiesiog priskiriant jam vertę ir nenaudojant `let`. Tai vis dar suveikia jeigu mūsų skirptuose nenurodome `use strict` tam kad palaikytume suderinamumų su senaisiais skirptais.
212212

213213
```js run no-strict
214-
// note: no "use strict" in this example
214+
// atkreipkite dėmesį: "use strict" nenaudojamas šiame pavyzdyje
215215

216-
num = 5; // the variable "num" is created if it didn't exist
216+
num = 5; // sukuriamas kintamasis "num", jeigu neegzistavo prieš tai
217217

218218
alert(num); // 5
219219
```
220220

221-
This is a bad practice and would cause an error in strict mode:
221+
Tai yra bloga praktika ir sukeltų klaidą griežtame režime (ang. strict mode):
222222

223223
```js
224224
"use strict";
225225

226226
*!*
227-
num = 5; // error: num is not defined
227+
num = 5; // klaida: num nėra apibrėžtas
228228
*/!*
229229
```
230230
````
231231
232-
## Constants
232+
## Konstantos
233233
234-
To declare a constant (unchanging) variable, use `const` instead of `let`:
234+
Tam kad deklaruotume konstantą (ang. constant) (pastovų) kintamąjį, naudojame `const` vietoje `let`:
235235
236236
```js
237237
const myBirthday = '18.04.1982';
238238
```
239239
240-
Variables declared using `const` are called "constants". They cannot be reassigned. An attempt to do so would cause an error:
240+
Kintamieji deklaruoti naudojant `const` yra vadinami "konstantomis". Jie negali būti paskirti iš naujo. Bandymas tai padaryti sukeltų klaidą:
241241
242242
```js run
243243
const myBirthday = '18.04.1982';
244244
245-
myBirthday = '01.01.2001'; // error, can't reassign the constant!
245+
myBirthday = '01.01.2001'; // klaida, negalima priskirti iš naujo konstantos!
246246
```
247247
248-
When a programmer is sure that a variable will never change, they can declare it with `const` to guarantee and clearly communicate that fact to everyone.
248+
Kai programuotojas yra užtikrintas, kad kintamasis niekada nesikeis, jie gali deklaruoti jį su `const`, kad garantuotų ir aiškiai praneštų šį faktą ir kitiems.
249249
250250
251-
### Uppercase constants
251+
### Konstantos didžiosiomis raidėmis
252252
253-
There is a widespread practice to use constants as aliases for difficult-to-remember values that are known prior to execution.
253+
Plačiai paplitusi praktika naudoti konstantas kaip kodinius pavadinimus sunkiai įsimenamoms vertėms, kurios yra jau žinomos prieš atlikimą.
254254
255-
Such constants are named using capital letters and underscores.
255+
Tokios konstantos pavadinamos naudojant didžiąsias raides ir pabrėžimo ženklą.
256256
257-
For instance, let's make constants for colors in so-called "web" (hexadecimal) format:
257+
Pavyzdžiui, sukurkime konstantas spalvoms su taip vadinamu internetiniu (šešioliktainiu, ang. hexadecimal) formatu:
258258
259259
```js run
260260
const COLOR_RED = "#F00";
261261
const COLOR_GREEN = "#0F0";
262262
const COLOR_BLUE = "#00F";
263263
const COLOR_ORANGE = "#FF7F00";
264264
265-
// ...when we need to pick a color
265+
// ...kai mums reikia išsirinkti spalvą
266266
let color = COLOR_ORANGE;
267267
alert(color); // #FF7F00
268268
```
269269
270-
Benefits:
270+
Nauda:
271271
272-
- `COLOR_ORANGE` is much easier to remember than `"#FF7F00"`.
273-
- It is much easier to mistype `"#FF7F00"` than `COLOR_ORANGE`.
274-
- When reading the code, `COLOR_ORANGE` is much more meaningful than `#FF7F00`.
272+
- `COLOR_ORANGE` daug lengviau prisiminti nei `"#FF7F00"`.
273+
- Daug lengviau būtų įvelti klaidų spausdinant klaviatūra `"#FF7F00"` negu `COLOR_ORANGE`.
274+
- Skaitant kodą, `COLOR_ORANGE` turės daugiau prasmės nei `#FF7F00`.
275275
276-
When should we use capitals for a constant and when should we name it normally? Let's make that clear.
276+
Kada turėtume naudoti didžiąsias raides konstantoms ir kada turėtume jas pavadinti normaliu būdu? Išsiaiškinkime.
277277
278-
Being a "constant" just means that a variable's value never changes. But there are constants that are known prior to execution (like a hexadecimal value for red) and there are constants that are *calculated* in run-time, during the execution, but do not change after their initial assignment.
278+
Būti "konstanta" tereiškia, kad to kintamojo vertė niekada nesikeičia. Bet yra tokių konstantų, kurių vertė yra žinoma prieš kodo atlikimą (kaip pavyzdžiui šešioliktainė raudonos spalvos vertė) ir taip pat yra konstantos, kurios yra *išmatuojamos* (ang *calculated*) veikimo metu kol vykdomas kodas, bet nesikeičia po jų pradinio paskyrimo.
279279
280-
For instance:
280+
Pavyzdžiui:
281281
```js
282-
const pageLoadTime = /* time taken by a webpage to load */;
282+
const pageLoadTime = /* kiek laiko užtruko paliesti puslapį */;
283283
```
284284
285-
The value of `pageLoadTime` is not known prior to the page load, so it's named normally. But it's still a constant because it doesn't change after assignment.
285+
Vertė `pageLoadTime` nebuvo žinoma prieš paleidžiant puslapį, tad pavadinimas užrašytas įprastiniu būdu, bet tai vis dar konstanta, nes ji nesikeičia po paskyrimo.
286286
287-
In other words, capital-named constants are only used as aliases for "hard-coded" values.
287+
Kitais žodžiais, didžiosiomis raidėmis pavadintos konstantos yra naudojamos kaip kodiniai žodžiai išanksto sukoduotoms (ang "hard-coded") vertėms.
288288
289-
## Name things right
289+
## Pavadinkite daiktus teisingai
290290
291-
Talking about variables, there's one more extremely important thing.
291+
Kalbant apie kintamuosius yra dar vienas labai svarbus punktas.
292292
293-
A variable name should have a clean, obvious meaning, describing the data that it stores.
293+
Kintamojo pavadinimas turi turėti švarią, aiškią reikšmę, apibūdinančią duomenis, kuriuos jis saugo.
294294
295-
Variable naming is one of the most important and complex skills in programming. A quick glance at variable names can reveal which code was written by a beginner versus an experienced developer.
295+
Kintamųjų įvardinimas yra viena iš svarbiausių ir sudėtingiausių sugebėjimų programuojant. Žvilgtelėjus į kintamojų pavadinimus galima nustatyti kurį kodą parašė naujokas, o kurį jau patyręs programuotojas.
296296
297-
In a real project, most of the time is spent modifying and extending an existing code base rather than writing something completely separate from scratch. When we return to some code after doing something else for a while, it's much easier to find information that is well-labeled. Or, in other words, when the variables have good names.
297+
Tikrame projekte, daugiausiai laiko yra skiriama modifikuoti ir išplėsti jau esamą kodą negu rašant kažką visiškai naujo nuo pat pradžių. Kai grįžtame prie kodo po to kai kurį laiką darėme kažką kito, daug lengviau kai randi informaciją su aiškiomis etiketėmis. Arba kitaip tariant, kai kintamieji turi gerus pavadinimus.
298298
299-
Please spend time thinking about the right name for a variable before declaring it. Doing so will repay you handsomely.
299+
Prašau, skirkite laiko sugalvodami kintamajam tinkamą pavadinimą prieš jį deklaruodami. Toks įprotis jums tikrai vėliau atsipirks.
300300
301-
Some good-to-follow rules are:
301+
Kelios sektinos taisyklės:
302302
303-
- Use human-readable names like `userName` or `shoppingCart`.
304-
- Stay away from abbreviations or short names like `a`, `b`, `c`, unless you really know what you're doing.
305-
- Make names maximally descriptive and concise. Examples of bad names are `data` and `value`. Such names say nothing. It's only okay to use them if the context of the code makes it exceptionally obvious which data or value the variable is referencing.
306-
- Agree on terms within your team and in your own mind. If a site visitor is called a "user" then we should name related variables `currentUser` or `newUser` instead of `currentVisitor` or `newManInTown`.
303+
- Naudokite žmogui lengvai perskaitomus pavadinimus, kaip `userName` arba `shoppingCart`.
304+
- Laikykitės atokiau nuo sutrumpinimų arba trumpų pavadinimų kaip `a`, `b`, `c`, nebent tikrai žinote ką darote.
305+
- Pavadinimus kurkite kaip galima labiau apibūdinančius, bet glaustus. Pavyzdžiai blogų pavadinimų yra tokie kaip `data` ir `value`. Tokie pavadinimai nieko nesako. Tinka tik tokiu atveju jeigu kodo turinys yaptingai aiškiai parodo, į kuriuos "data" arba "value" kintamasis nurodo.
306+
- Susitarkite dėl terminų su komanda ir savo mintyse. Jeigu lankytojas puslapyje yra vadinamas "user" tai ir susiję kintamieji turi būti pavadinti `currentUser` arba `newUser` vietoje `currentVisitor` arba `newManInTown`.
307307
308-
Sounds simple? Indeed it is, but creating descriptive and concise variable names in practice is not. Go for it.
308+
Skamba paprastai? Iš tikrųjų taip ir yra, bet praktikoje sukurti apibūdinančius ir tuo pačiu glaustus kintamuosųjų pavadinimus nėra lengva. Pabandykite.
309309
310-
```smart header="Reuse or create?"
311-
And the last note. There are some lazy programmers who, instead of declaring new variables, tend to reuse existing ones.
310+
```smart header="Panaudoti vėl ar sukurti naują?"
311+
Ir paskutinė pastaba. Yra tingių programuotojų, kurie vietoje to, kad deklaruotų naujus kintamuosius, mėgsta dar kartą panaudoti jau egzistuojančius.
312312
313313
As a result, their variables are like boxes into which people throw different things without changing their stickers. What's inside the box now? Who knows? We need to come closer and check.
314314

0 commit comments

Comments
 (0)