Skip to content

Commit 42f27a0

Browse files
add: 1-js full translation
1 parent 2580357 commit 42f27a0

File tree

504 files changed

+7012
-16552
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

504 files changed

+7012
-16552
lines changed

1-js/02-first-steps/01-hello-world/article.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -94,17 +94,15 @@ Xuddi shu skriptga murojaat qilgan boshqa sahifalar uni qayta yuklab olish o'rni
9494
Bu trafikni kamaytiradi va sahifalarni tezlashtiradi.
9595
```
9696

97-
````warn header="Agar `src`o'rnatilgan bo'lsa, skript mazmuniga e'tibor berilmaydi."
98-
Bitta`<script>`tegida ham`src` atributi, ham ichki kod bo'lishi mumkin emas.
97+
````warn header="Agar `src` o'rnatilgan bo'lsa, skript mazmuniga e'tibor berilmaydi."
98+
Bitta `<script>` tegida ham `src` atributi, ham ichki kod bo'lishi mumkin emas.
9999

100100
Bu ishlamaydi:
101101

102102
```html
103-
104103
<script *!*src*/!*="file.js">
105104
alert(1); // mazmuniga e'tibor berilmaydi, chunki src o'rnatilgan
106105
</script>
107-
108106
```
109107

110108
Biz tashqi `<script src="…">` yoki ichki kod bilan `<script>` dan birini tanlashimiz kerak.
@@ -117,13 +115,12 @@ Yuqoridagi misolni ishlashi uchun ikkita skriptga bo'lish mumkin:
117115
alert(1);
118116
</script>
119117
```
120-
121-
```
118+
````
122119
123120
## Xulosa
124121
125122
- Sahifaga JavaScript kodi qo'shish uchun `<script>` tegidan foydalanishimiz mumkin.
126123
- `type` va `language` atributlari talab qilinmaydi.
127-
- Tashqi fayldan skript `<script src="path/to/script.js"></script>` ko'rinishida `src` atributi yordamida qo'shilishi mumkin.
124+
- Tashqi fayldan skript `<script src="path/to/script.js"></script>` ko'rinishida qo'shilishi mumkin.
128125
129-
Brauzer skriptlari va ularning veb-sahifa bilan o'zaro aloqalari haqida ko'proq ma'lumot olish mumkin. Shuni yodda tutingki, o'quv qo'llanmasining ushbu qismi JavaScript tiliga bag'ishlangan, shuning uchun uni brauzerga xos dasturlar bilan aralashtirib yubormasligimiz kerak. Biz brauzerni JavaScript-ni ishga tushirish usuli
126+
Brauzer skriptlari va ularning veb-sahifa bilan o'zaro aloqalari haqida ko'proq ma'lumot olish mumkin. Shuni yodda tutingki, o'quv qo'llanmasining ushbu qismi JavaScript tiliga bag'ishlangan, shuning uchun uni brauzerga xos dasturlar bilan aralashtirib yubormasligimiz kerak. Biz brauzerni JavaScript-ni ishga tushirish usuli sifatida ishlatamiz, bu onlayn o'qish uchun juda qulay, lekin ko'plab usullardan faqat bittasi.
Lines changed: 64 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -1,203 +1,155 @@
1-
# Kod tuzulishi
1+
# Kod tuzilishi
22

3-
Biz o'rganadigan birinchi narsa bu kodning bloklari.
3+
Birinchi navbatda biz kodning asosiy qurilish bloklarini o'rganamiz.
44

5-
## Ifodalar
5+
## Bayonotlar
66

7-
Ifodalar - amallarni bajaruvchi sintaksis konstruktsiyalar va buyruqlardir.
7+
Bayonotlar - bu amallarni bajaradigan sintaksis konstruktsiyalar va buyruqlardir.
88

9-
Biz allaqachon bir ifoda ko'rgan edik, `alert('Hello, world!')`, qaysiki "Hello, world!" xabarni ko'rsatadi.
9+
Biz allaqachon `alert('Salom, dunyo!')` bayonotini ko'rdik, u "Salom, dunyo!" xabarini ko'rsatadi.
1010

11-
Bizning kodimizda kerakli kabi ko'p ifodalar bo'lishi mumkin. Ifodalarni nuqtali vergul bilan ajratish mumkin.
11+
Kodimizda istalgancha ko'p bayonotlarga ega bo'lishimiz mumkin. Bayonotlar nuqta-vergul bilan ajratilishi mumkin.
1212

13-
Misol uchun, bu erda biz "Hello World" ni ikkita alertga(ogohlantirishga) ajratdik:
13+
Masalan, bu yerda biz "Salom dunyo"ni ikkita alert ga bo'lamiz:
1414

1515
```js run no-beautify
16-
alert('Hello'); alert('World');
16+
alert('Salom'); alert('Dunyo');
1717
```
1818

19-
Odatda, ifodalar, kodni yanada o'qish oson bo'lishi uchun, alohida satrlarga yoziladi:
19+
Odatda, bayonotlar alohida satrlarda yoziladi, bu kodni o'qishni osonlashtiradi:
2020

2121
```js run no-beautify
22-
alert('Hello');
23-
alert('World');
22+
alert('Salom');
23+
alert('Dunyo');
2424
```
2525

26-
## Nuqta-vergul [#semicolon]
26+
## Nuqta-vergullar [#semicolon]
2727

28-
Nuqta-vergul ko'p hollarda yozilmashi mumkin, agar satr uzilishi bo'lsa.
28+
Satr tanaffusi mavjud bo'lgan holatlarda nuqta-vergulni tashlab qoldirish mumkin.
2929

3030
Bu ham ishlaydi:
3131

3232
```js run no-beautify
33-
alert('Hello')
34-
alert('World')
33+
alert('Salom')
34+
alert('Dunyo')
3535
```
3636

37-
Bu erda JavaScript satr uzilishini "yashirin" nuqta-vergul sifatida izohlaydi. Bu [avtomatik vergul kiritish](https://tc39.github.io/ecma262/#sec-automatic-semicolon-insertion) deyiladi.
37+
Bu yerda JavaScript satr tanaffusini "yashirin" nuqta-vergul sifatida talqin qiladi. Bu [avtomatik nuqta-vergul qo'yish](https://tc39.github.io/ecma262/#sec-automatic-semicolon-insertion) deb ataladi.
3838

39-
**Ko'p hollarda yangi satrni nuqta-vergul dib nazarda tutadi. Lekin "ko'p hollarda" "har doim" degani emas!**
39+
**Ko'p hollarda yangi satr nuqta-vergulni bildiradi. Ammo "ko'p hollarda" degani "har doim" degani emas!**
4040

41-
Yangi satr nuqta-vergulni anglatmaydigan holatlar mavjud. Misol uchun:
41+
Yangi satr nuqta-vergulni bildirmaydigan holatlar mavjud. Masalan:
4242

4343
```js run no-beautify
4444
alert(3 +
4545
1
4646
+ 2);
4747
```
4848

49-
<<<<<<< HEAD
50-
Kod `6` ni chiqaradi, chunki JavaScript bu erga nuqta-vergul qo'shmaydi. Agar satr ortiqcha `"+"` bilan tugagan bo'lsa, u "to'liq bo'lmagan ifoda" ekanligi intuitiv ravishda aniq, shuning uchun nuqta-vergul shart emas. Va bu holda, hamma narsa maqsadga muvofiq ishlaydi.
51-
=======
52-
The code outputs `6` because JavaScript does not insert semicolons here. It is intuitively obvious that if the line ends with a plus `"+"`, then it is an "incomplete expression", so a semicolon there would be incorrect. And in this case, that works as intended.
53-
>>>>>>> fb4fc33a2234445808100ddc9f5e4dcec8b3d24c
49+
Kod `6` ni chiqaradi, chunki JavaScript bu yerda nuqta-vergul qo'ymaydi. Agar satr plyus `"+"` bilan tugasa, u "to'liq bo'lmagan ifoda" ekanligini intuitiv ravishda tushunish mumkin, shuning uchun bu yerda nuqta-vergul noto'g'ri bo'ladi. Va bu holda, bu mo'ljallangandek ishlaydi.
5450

55-
**Ammo shunday holatlar mavjudki, JavaScript haqiqatan ham zarur bo'lgan joyda nuqta-vergulni "unutadi".**
51+
**Ammo JavaScript haqiqatan ham kerak bo'lgan joyda nuqta-vergulni "taxmin qila olmaydigan" vaziyatlar mavjud.**
5652

57-
Bunday hollarda sodir bo'lgan xatolarni topish va tuzatish juda qiyin.
53+
Bunday hollarda yuzaga keladigan xatolarni topish va tuzatish juda qiyin.
5854

59-
````smart header="Xatoning misoli"
60-
Agar bunday aniq xato misolni ko'rishning hohlasangiz, bu kodni tekshiring:
55+
````smart header="Xato misoli"
56+
Agar siz bunday xatoning aniq misolini ko'rishni istasangiz, ushbu kodni tekshiring:
6157
6258
```js run
63-
alert("Hello");
59+
alert("Salom");
6460
6561
[1, 2].forEach(alert);
6662
```
6763
68-
<<<<<<< HEAD
69-
Hali qavs `[]` va 'forEach (har biri uchun)' ma'nosi haqida o'ylashning hojati yo'q. Ularni keyinroq o'rganamiz. Hozircha, faqat kod natija eslab qoling: u `1` keyin `2` ko'rsatadi.
64+
Hozircha `[]` qavslar va `forEach` ning ma'nosini o'ylashga hojat yo'q. Biz ularni keyinroq o'rganamiz. Hozircha faqat kodni ishga tushirish natijasini eslab qoling: u `Salom`, keyin `1`, keyin `2` ni ko'rsatadi.
7065
71-
Endi koddan oldin `alert(ogohlantirish)` ni qo'shaylik va uni nuqta-vergul bilan *tugatmaylik*:
66+
Endi `alert` dan keyingi nuqta-vergulni olib tashlaylik:
7267
7368
```js run no-beautify
74-
alert("Xato bo'ladi")
75-
=======
76-
No need to think about the meaning of the brackets `[]` and `forEach` yet. We'll study them later. For now, just remember the result of running the code: it shows `Hello`, then `1`, then `2`.
77-
78-
Now let's remove the semicolon after the `alert`:
79-
80-
```js run no-beautify
81-
alert("Hello")
82-
>>>>>>> fb4fc33a2234445808100ddc9f5e4dcec8b3d24c
69+
alert("Salom")
8370
8471
[1, 2].forEach(alert);
8572
```
8673
87-
<<<<<<< HEAD
88-
Endi kodni ishlatsak, faqat birinchi `alert(ogohlantirish)` ko'rsatiladi va keyin bizda xato bor!
89-
90-
Lekin `alert` dan keyin nuqta-vergul qo'shsak, yana hamma narsa yaxshi:
91-
92-
```js run
93-
alert("Hozir barchasi yaxshi");
94-
=======
95-
The difference compared to the code above is only one character: the semicolon at the end of the first line is gone.
96-
>>>>>>> fb4fc33a2234445808100ddc9f5e4dcec8b3d24c
97-
98-
If we run this code, only the first `Hello` shows (and there's an error, you may need to open the console to see it). There are no numbers any more.
99-
100-
<<<<<<< HEAD
101-
Endi biz `1` va `2` dan so'ng "Hozir barchasi yaxshi" xabar bor.
74+
Yuqoridagi koddan farq faqat bitta belgida: birinchi satr oxiridagi nuqta-vergul yo'qoldi.
10275
76+
Agar biz ushbu kodni ishga tushirsak, faqat birinchi `Salom` ko'rsatiladi (va xato bor, uni ko'rish uchun konsolni ochishingiz kerak bo'lishi mumkin). Endi raqamlar yo'q.
10377
104-
Nuqta-vergulsiz variantdagi xatolik JavaScript kvadrat qavslardan oldin nuqta-vergulni avtomatik qo'ymagani uchun yuzaga keladi `[...]`.
78+
Buning sababi shundaki, JavaScript kvadrat qavslar `[...]` oldida nuqta-vergulni taxmin qilmaydi. Shunday qilib, oxirgi misoldagi kod bitta bayonot sifatida qabul qilinadi.
10579
106-
Shunday qilib, nuqta-vergul avtomatik joylashtirilmaganligi sababli, birinchi misoldagi kod bitta ifoda sifatida qabul qilinadi. Mana buni interpretator ko'radi:
80+
Mana dvigatel uni qanday ko'radi:
10781
10882
```js run no-beautify
109-
alert("Xato bo'ladi")[1, 2].forEach(alert)
83+
alert("Salom")[1, 2].forEach(alert);
11084
```
11185
112-
Ammo bu bitta emas, ikkita alohida ifoda bo'lishi kerak. Bunday holda birlashish noto'g'ri, shuning uchun xato. Bu turdagi hato boshqa holatlarda ham bo'lishi mumkin.
86+
G'alati ko'rinadi, to'g'rimi? Bu holda bunday birlashtirish noto'g'ri. Kod to'g'ri ishlashi uchun `alert` dan keyin nuqta-vergul qo'yishimiz kerak.
11387
114-
=======
115-
That's because JavaScript does not assume a semicolon before square brackets `[...]`. So, the code in the last example is treated as a single statement.
116-
117-
Here's how the engine sees it:
118-
119-
```js run no-beautify
120-
alert("Hello")[1, 2].forEach(alert);
121-
```
122-
123-
Looks weird, right? Such merging in this case is just wrong. We need to put a semicolon after `alert` for the code to work correctly.
124-
125-
This can happen in other situations also.
126-
>>>>>>> fb4fc33a2234445808100ddc9f5e4dcec8b3d24c
88+
Bu boshqa vaziyatlarda ham sodir bo'lishi mumkin.
12789
````
12890

129-
Yangi satrlar bilan ajratilgan bo'lsa ham, ifodalar orasida nuqta-vergul qo'yishni tavsiya etamiz. Ushbu qoida jamiyat tomonidan keng qabul qilingan. Yana bir bor ta'kidlab o'tamiz -- *ko'pincha nuqta-vergul qoldirish mumkin*. Ammo ulardan foydalanish xavfsizroq -- ayniqsa, yangi boshlanuvchilar uchun.
91+
Biz yangi satrlar bilan ajratilgan bo'lsa ham, bayonotlar orasiga nuqta-vergul qo'yishni tavsiya qilamiz. Bu qoida jamiyat tomonidan keng qabul qilingan. Yana bir bor ta'kidlaymiz -- nuqta-vergullarni ko'p vaqt tashlab qoldirish *mumkin*. Ammo ularni ishlatish xavfsizroq -- ayniqsa yangi boshlovchilar uchun.
13092

131-
<<<<<<< HEAD
132-
## Izohlar
133-
=======
134-
## Comments [#code-comments]
135-
>>>>>>> fb4fc33a2234445808100ddc9f5e4dcec8b3d24c
93+
## Izohlar [#code-comments]
13694

137-
Vaqt o'tgan sayin dasturlar murakkablashib boradi. Shuning uchun *izohlar* qo'shish kerak bo'ladi, kod nima bajarilishini tasvirlab berish uchun.
95+
Vaqt o'tishi bilan dasturlar tobora murakkablashib boradi. Kod nima qilishi va nima uchun qilishini tavsiflovchi *izohlar* qo'shish zarur bo'ladi.
13896

139-
Izohlarni scirtlarning istalgan joyiga qo'yish mumkin. Ular uning bajarilishiga ta'sir qilmaydi, chunki interpretator ularni e'tiborsiz qoldiradi.
97+
Izohlarni skriptning istalgan joyiga qo'yish mumkin. Ular uning bajarilishiga ta'sir qilmaydi, chunki dvigatel ularni shunchaki e'tiborsiz qoldiradi.
14098

141-
**Bir qatorli izohlar ikkita oldinga siljish belgilaridan boshlanadi `//`.**
99+
**Bir satrli izohlar ikki marta oldinga yo'nalgan chiziq belgilari `//` bilan boshlanadi.**
142100

143-
Satrning qolgan qismi izohdir. O'zining to'liq satrini egallashi yoki ifodadan kegin bolishi mumkin.
101+
Satrning qolgan qismi izoh hisoblanadi. U butun satrni egallashi yoki bayonotdan keyin kelishi mumkin.
144102

145-
Bu erda bo'lgani kabi:
103+
Masalan:
146104
```js run
147-
// Ushbu izoh o'ziga xos satrni egallaydi
148-
alert('Hello');
105+
// Bu izoh o'z satrini egallaydi
106+
alert('Salom');
149107

150-
alert('World'); // Ushbu izoh ifodadan keyin
108+
alert('Dunyo'); // Bu izoh bayonotdan keyin keladi
151109
```
152110

153-
**Ko'p qatorli izohlar oldinga siljish belgisi va yulduzcha bilan boshlanadi <code>/&#42;</code> so'ng yulduzcha va oldinga siljish belgisi bilan tugaydi<code>&#42;/</code>.**
111+
**Ko'p satrli izohlar oldinga yo'nalgan chiziq va yulduzcha <code>/&#42;</code> bilan boshlanadi va yulduzcha va oldinga yo'nalgan chiziq <code>&#42;/</code> bilan tugaydi.**
154112

155-
Shunga o'xshash:
113+
Masalan:
156114

157115
```js run
158-
/* Ikki xabarli misol.
116+
/* Ikki xabar bilan misol.
159117
Bu ko'p satrli izoh.
160118
*/
161-
alert('Hello');
162-
alert('World');
119+
alert('Salom');
120+
alert('Dunyo');
163121
```
164122

165-
Izohlarning mazmuni e'tiborga olinmaydi, shuning uchun kodni <code>/&#42; ... &#42;/</code>, u bajarilmaydi.
166-
123+
Izohlar mazmuni e'tiborga olinmaydi, shuning uchun agar biz <code>/&#42; ... &#42;/</code> ichiga kod qo'ysak, u bajarilmaydi.
167124

168-
Ba'zan kodning bir qismini vaqtincha o'chirib qo'yish uchun qulay bo'lishi mumkin:
125+
Ba'zida kodning bir qismini vaqtincha o'chirib qo'yish foydali bo'lishi mumkin:
169126

170127
```js run
171-
/* Kodni izohlash
172-
alert('Hello');
128+
/* Kodni izohga aylantirish
129+
alert('Salom');
173130
*/
174-
alert('World');
131+
alert('Dunyo');
175132
```
176133

177-
<<<<<<< HEAD
178-
```smart header="Maxsus klavsishalar kombinatsiyalaridan foydalaning"
179-
Ko'p matn muharrirlarida, kod satrini bitta satrli izoh uchun: `key:Ctrl+/` tugmachasini bosish orqali izohlash mumkin va shunga o'xshash narsa: "Ctrl+Shift+/" - ko'p satrli izohlar uchun (kod qismini tanlang va maxsus klavsishalar kombinatsiyani bosing). Mac uchun `key:Ctrl` o'rniga `key:Cmd` ni sinab ko'ring.
180-
=======
181-
```smart header="Use hotkeys!"
182-
In most editors, a line of code can be commented out by pressing the `key:Ctrl+/` hotkey for a single-line comment and something like `key:Ctrl+Shift+/` -- for multiline comments (select a piece of code and press the hotkey). For Mac, try `key:Cmd` instead of `key:Ctrl` and `key:Option` instead of `key:Shift`.
183-
>>>>>>> fb4fc33a2234445808100ddc9f5e4dcec8b3d24c
134+
```smart header="Tez tugmalardan foydalaning!"
135+
Ko'pgina muharrirlarda kod satrini `key:Ctrl+/` tez tugmasi bilan bir satrli izohga aylantirish mumkin va `key:Ctrl+Shift+/` kabi tugma -- ko'p satrli izohlar uchun (kod qismini tanlang va tez tugmani bosing). Mac uchun `key:Ctrl` o'rniga `key:Cmd` va `key:Shift` o'rniga `key:Option` dan foydalanib ko'ring.
184136
```
185137

186-
````warn header="Izohning ichida izoh qoldirish mumkin emas!"
187-
Mumkin emas `/*...* /` ichida `/*...*/`.
138+
````warn header="Ichki izohlar qo'llab-quvvatlanmaydi!"
139+
Boshqa `/*...*/` ichida `/*...*/` bo'lishi mumkin emas.
188140
189-
Bunday kod xato:
141+
Bunday kod xato bilan to'xtaydi:
190142
191143
```js run no-beautify
192144
/*
193-
/* Izohning ichida izoh ?!? */
145+
/* ichki izoh ?!? */
194146
*/
195-
alert( 'World' );
147+
alert( 'Dunyo' );
196148
```
197149
````
198150

199-
Iltimos, kodingizni izohlashdan tortinmang.
151+
Iltimos, kodingizga izoh qo'yishdan tortinmang.
200152

201-
Izohlar umumiy kod hajmini oshiradi, ammo bu umuman muammo emas. Ishlab chiqarish serverida nashr etishdan oldin kodni minimallashtiradigan ko'plab vositalar mavjud. Ular izohlarni olib tashlashadi, shuning uchun ular ishlaydigan skriptlarda ko'rinmaydi. Shuning uchun izohlar ishlab chiqarishga umuman salbiy ta'sir ko'rsatmaydi.
153+
Izohlar kodning umumiy hajmini oshiradi, ammo bu umuman muammo emas. Kodni ishlab chiqarish serveriga nashr etishdan oldin kichiklashtiruvchi ko'plab vositalar mavjud. Ular izohlarni olib tashlaydi, shuning uchun ular ishlaydigan skriptlarda ko'rinmaydi. Shuning uchun izohlar ishlab chiqarishga umuman salbiy ta'sir qilmaydi.
202154

203-
Keyinchalik o'quv qo'llanmada <info:code-quality> bo'limi paydo bo'ladi, unda yaxshiroq izohlar yozishni tushuntiriladi.
155+
Keyinchalik o'quv qo'llanmada yaxshiroq izohlar qanday yozish haqida ham tushuntiruvchi <info:code-quality> bobi bo'ladi.

0 commit comments

Comments
 (0)