Skip to content

Commit ac4e025

Browse files
authored
Merge pull request #203 from corebranch/master
Translate articles to Azerbaijani
2 parents 28d2c7d + 16a53df commit ac4e025

File tree

2 files changed

+103
-103
lines changed

2 files changed

+103
-103
lines changed
+67-66
Original file line numberDiff line numberDiff line change
@@ -1,159 +1,160 @@
1-
# Code structure
1+
# Kod Strukturu
22

3-
The first thing we'll study is the building blocks of code.
3+
İlk öyrənəcəyimiz mövzu, kodun bloklarını inşa etməkdir.
44

5-
## Statements
5+
## İfadələr
66

7-
Statements are syntax constructs and commands that perform actions.
7+
İfadələr sintaksis konstruksiyaları və əmrlərdir ki, müəyyən əməliyyatlar yerinə yetirir.
88

9-
We've already seen a statement, `alert('Hello, world!')`, which shows the message "Hello, world!".
9+
Biz artıq alert('Salam, Dünya!') ilə bir ifadə görmüşük, ki, bu da bizə "Salam, Dünya!" mesajını göstərir.
1010

11-
We can have as many statements in our code as we want. Statements can be separated with a semicolon.
11+
Kodumuzda istədiyimiz qədər ifadə ola bilər. İfadələr bir-birindən "nöqtəli vergül"lərlə ayrıla bilər.
1212

13-
For example, here we split "Hello World" into two alerts:
13+
Məsələn, burada "Salam, dünya" mesajını iki xəbərdarlıq şəklində ayırmışıq:
1414

1515
```js run no-beautify
16-
alert('Hello'); alert('World');
16+
alert('Salam'); alert('Dünya');
1717
```
1818

19-
Usually, statements are written on separate lines to make the code more readable:
19+
Adətən, ifadələr kodun oxunaqlılığını artırmaq üçün ayrı-ayrı sətirlərdə yazılır:
2020

2121
```js run no-beautify
22-
alert('Hello');
23-
alert('World');
22+
alert('Salam');
23+
alert('Dünya');
2424
```
2525

26-
## Semicolons [#semicolon]
26+
## Nöqtəli Vergüllər [#semicolon]
2727

28-
A semicolon may be omitted in most cases when a line break exists.
28+
Sətir sonunda bir çox hallarda nöqtəli vergül buraxıla bilər.
2929

30-
This would also work:
30+
Bu da işləyəcək:
3131

3232
```js run no-beautify
33-
alert('Hello')
34-
alert('World')
33+
alert('Salam')
34+
alert('Dünya')
3535
```
3636

37-
Here, JavaScript interprets the line break as an "implicit" semicolon. This is called an [automatic semicolon insertion](https://tc39.github.io/ecma262/#sec-automatic-semicolon-insertion).
37+
Burada JavaScript interpretatoru sətir sonunu "örtülü" nöqtəli vergül kimi qəbul edir. Bu proses [avtomatik nöqtəli vergül daxil edilməsi (automatic semicolon insertion)](https://tc39.github.io/ecma262/#sec-automatic-semicolon-insertion) adlanır.
3838

39-
**In most cases, a newline implies a semicolon. But "in most cases" does not mean "always"!**
39+
**Əksər hallarda yeni sətir nöqtəli vergül əlavə edildiyini ifadə edir. Amma "əksər hallarda" "hər zaman" demək deyil!**
4040

41-
There are cases when a newline does not mean a semicolon. For example:
41+
Müəyyən hallar var ki, yeni sətir nöqtəli vergül anlamına gəlmir. Məsələn:
4242

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

49-
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 the semicolon is not required. And in this case that works as intended.
49+
Bu kodun nəticəsi `6` olacaq, çünki, JavaScript interpretatoru burada nöqtəli vergül daxil etmir. JavaScript üçün intuitiv olaraq aydındır ki, əgər sətir `+` (üstəgəl) simvolu ilə bitirsə, bu "natamam ifadə"dir və nöqtəli vergül tələb olunmur. Bu halda kod gözlənildiyi kimi işləyir.
5050

51-
**But there are situations where JavaScript "fails" to assume a semicolon where it is really needed.**
51+
**Amma müəyyən hallar da var ki, JavaScript belə hallarda nöqtəli vergülü avtomatik əlavə edə bilmir və nəticədə xəta yaranır.**
5252

53-
Errors which occur in such cases are quite hard to find and fix.
53+
Belə hallarda xətaları tapmaq və düzəltmək olduqca çətin ola bilər.
5454

55-
````smart header="An example of an error"
56-
If you're curious to see a concrete example of such an error, check this code out:
55+
````smart header="Xəta üçün bir nümunə"
56+
Əgər belə bir xətaya konkret nümunə görmək istəyirsinizsə, bu kodu yoxlayın:
5757
5858
```js run
5959
[1, 2].forEach(alert)
6060
```
6161
62-
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 the code: it shows `1` then `2`.
62+
İndilik `[]` (kvadrat mötərizələr) və `forEach` haqqında düşünməyə ehtiyac yoxdur. Onları daha sonra öyrənəcəyik. Hazırda sadəcə kodun nəticəsinə diqqət edin: bu kod əvvəlcə `1`, daha sonra `2` göstərir.
6363
64-
Now, let's add an `alert` before the code and *not* finish it with a semicolon:
64+
İndi kodun əvvəlinə bir `alert` əlavə edək və onu nöqtəli vergülsüz bitirək:
6565
6666
```js run no-beautify
67-
alert("There will be an error")
67+
alert("Xəta baş verəcək")
6868
6969
[1, 2].forEach(alert)
7070
```
7171
72-
Now if we run the code, only the first `alert` is shown and then we have an error!
72+
İndi bu kodu işə salsaq, yalnız ilk `alert` mesajı görünəcək və daha sonra xəta ilə üzləşəcəyik!
7373
74-
But everything is fine again if we add a semicolon after `alert`:
74+
Amma əgər `alert` ifadəsindən sonra nöqtəli vergül əlavə etsək, hər şey yenidən qaydasında olacaq:
7575
```js run
76-
alert("All fine now");
76+
alert("Hər şey qaydasındadır.");
7777
7878
[1, 2].forEach(alert)
7979
```
8080
81-
Now we have the "All fine now" message followed by `1` and `2`.
81+
İndi "Hər şey qaydasındadır." mesajından sonra `1` `2` görünür.
8282
8383
84-
The error in the no-semicolon variant occurs because JavaScript does not assume a semicolon before square brackets `[...]`.
84+
Nöqtəli vergülün olmadığı variantda xəta JavaScript'in kvadrat mötərizədən əvvəl nöqtəli vergülü avtomatik əlavə edə bilməməsindən qaynaqlanır.
8585
86-
So, because the semicolon is not auto-inserted, the code in the first example is treated as a single statement. Here's how the engine sees it:
86+
Beləliklə, nöqtəli vergül avtomatik olaraq əlavə edilmədiyindən, ilk nümunədəki kod tək ifadə kimi qəbul olunur. JavaScript mühərriki kodu belə görür:
8787
8888
```js run no-beautify
89-
alert("There will be an error")[1, 2].forEach(alert)
89+
alert("Xəta baş verəcək")[1, 2].forEach(alert)
9090
```
9191
92-
But it should be two separate statements, not one. Such a merging in this case is just wrong, hence the error. This can happen in other situations.
92+
Amma kod iki ayrı ifadə olmalı idi, tək deyil. Bu halda birləşmə səhv baş verir və nəticədə xəta yaranır. Bu problem digər hallarda da yarana bilər.
9393
````
9494

95-
We recommend putting semicolons between statements even if they are separated by newlines. This rule is widely adopted by the community. Let's note once again -- *it is possible* to leave out semicolons most of the time. But it's safer -- especially for a beginner -- to use them.
95+
Əgər ifadələr sətirlərlə ayrılıbsa, onların arasına nöqtəli vergül qoymağı tövsiyə edirik. Bu qayda JavaScript cəmiyyəti tərəfindən geniş şəkildə qəbul olunub. Yenidən bir də qeyd edək ki, nöqtəli vergülləri çox vaxt buraxmaq -- *mümkündür*. Lakin, xüsusilə yeni başlayanlar üçün, nöqtəli vergüllərdən istifadə etmək daha təhlükəsizdir.
9696

97-
## Comments [#code-comments]
97+
## Şərhlər [#code-comments]
9898

99-
As time goes on, programs become more and more complex. It becomes necessary to add *comments* which describe what the code does and why.
99+
Zaman keçdikcə proqramlar daha mürəkkəb hala gələ bilər. Bu zaman kodun nə etdiyini və niyə olduğunu izah edən *şərhlər* əlavə etmək lazım olur.
100100

101-
Comments can be put into any place of a script. They don't affect its execution because the engine simply ignores them.
101+
Şərhləri skriptin istənilən yerində yerləşdirmək olar. Onlar kodun icrasına təsir etmir, çünki, JavaScript mühərriki onları sadəcə nəzərə almır.
102102

103-
**One-line comments start with two forward slash characters `//`.**
103+
**Təksətirlik şərhlər iki ardıcıl slash (`//`) ilə başlayır.**
104104

105-
The rest of the line is a comment. It may occupy a full line of its own or follow a statement.
105+
Sətirin qalan hissəsi şərh hesab olunur. Şərhlər ayrıca bir sətri tuta bilər və ya bir ifadəni izləyə bilər.
106106

107-
Like here:
107+
Məsələn:
108108
```js run
109-
// This comment occupies a line of its own
110-
alert('Hello');
109+
// Bu şərh ayrıca bir sətirdə yerləşir
110+
alert('Salam');
111111

112-
alert('World'); // This comment follows the statement
112+
alert('Dünya'); // Bu şərh ifadədən sonra yerləşir
113113
```
114114

115-
**Multiline comments start with a forward slash and an asterisk <code>/&#42;</code> and end with an asterisk and a forward slash <code>&#42;/</code>.**
115+
**Çoxsətirli şərhlər bir slash (`/`) və asterisk (`*`) ilə başlayır <code>/&#42;</code> və bir asterisk (`*`) və slash (`/`) ilə bitir <code>&#42;/</code>.**
116116

117-
Like this:
117+
Məsələn:
118118

119119
```js run
120-
/* An example with two messages.
121-
This is a multiline comment.
120+
/* İki mesaj ehtiva edən bir nümunə.
121+
Bu çoxsətirli bir şərhdir.
122122
*/
123-
alert('Hello');
124-
alert('World');
123+
alert('Salam');
124+
alert('Dünya');
125125
```
126126

127-
The content of comments is ignored, so if we put code inside <code>/&#42; ... &#42;/</code>, it won't execute.
127+
Şərhlərin məzmunu JavaScript mühərriki tərəfindən nəzərə alınmadığı üçün, əgər kodu <code>/&#42; ... &#42;/</code> içərisində yerləşdirsək, o icra olunmayacaq.
128128

129-
Sometimes it can be handy to temporarily disable a part of code:
129+
Bəzən kodun müəyyən bir hissəsini müvəqqəti olaraq söndürmək üçün şərhlərdən istifadə etmək faydalıdır:
130130

131131
```js run
132-
/* Commenting out the code
133-
alert('Hello');
132+
/* Kodu deaktiv edirik
133+
alert('Salam');
134134
*/
135-
alert('World');
135+
alert('Dünya');
136136
```
137137

138-
```smart header="Use hotkeys!"
139-
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`.
138+
```smart header="Qısayollardan istifadə edin!"
139+
Əksər redaktorlarda bir kod sətrini təksətirlik şərh etmək üçün `key:Ctrl+/` qısayolundan, çoxsətirli şərhlər üçün isə (kodun bir hissəsini seçib) `key:Ctrl+Shift+/` kombinasiyasından istifadə edə bilərsiniz. Mac istifadəçiləri, sözügedən kombinasiyalardan istifadədə key:Ctrl əvəzinə key:Cmd klavişiylə cəhd edə bilərlər.
140140
```
141141

142-
````warn header="Nested comments are not supported!"
143-
There may not be `/*...*/` inside another `/*...*/`.
142+
````warn header="İç-içə şərhlər dəstəklənmir!"
143+
`/*...*/` içərisində başqa bir `/*...*/` şərhi yerləşdirilə bilməz.
144144
145-
Such code will die with an error:
145+
Belə bir kod xəta ilə nəticələnir:
146146
147147
```js run no-beautify
148148
/*
149-
/* nested comment ?!? */
149+
/* İç-içə şərh ?!? */
150150
*/
151-
alert( 'World' );
151+
alert('Dünya');
152152
```
153153
````
154154

155-
Please, don't hesitate to comment your code.
155+
Kodunuzu şərh etməkdən çəkinməyin.
156156

157-
Comments increase the overall code footprint, but that's not a problem at all. There are many tools which minify code before publishing to a production server. They remove comments, so they don't appear in the working scripts. Therefore, comments do not have negative effects on production at all.
157+
Şərhlər ümumi kodun ölçüsünü artırır, lakin bu problem deyil. Bir çox alət kodu "production server"da, yəni istehsal serverində yayımlamadan əvvəl kiçildir. Bu prosesdə şərhlər silinir və işlək skriptlərdə yer almır. Buna görə də şərhlərin istehsal serverinə heç bir mənfi təsiri yoxdur.
158158

159-
Later in the tutorial there will be a chapter <info:code-quality> that also explains how to write better comments.
159+
Daha sonra bu dərslikdə [Kod keyfiyyəti](<info:code-quality>) adlı bir fəsil olacaq. Bu fəsil daha yaxşı şərhlər yazmaq barədə əlavə
160+
məsləhətlər verəcək.
+36-37
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,84 @@
1-
# The modern mode, "use strict"
1+
# Müasir Rejim, "use strict"
22

3-
For a long time, JavaScript evolved without compatibility issues. New features were added to the language while old functionality didn't change.
3+
JavaScript uzun müddət ərzində uyğunsuzluq problemləri olmadan inkişaf etdi. Köhnə xüsusiyyətlər dəyişdirilmədən, dilə yeni xüsusiyyətlər əlavə olundu.
44

5-
That had the benefit of never breaking existing code. But the downside was that any mistake or an imperfect decision made by JavaScript's creators got stuck in the language forever.
5+
Bunun üstünlüyü mövcud kodun işləmə qabiliyyətini heç vaxt pozmaması idi. Lakin mənfi tərəfi o idi ki, JavaScript'in yaradıcılarının etdiyi hərhansı bir səhv və ya düzgün olmayan bir qərar dilin daimi bir hissəsinə çevrilirdi.
66

7-
This was the case until 2009 when ECMAScript 5 (ES5) appeared. It added new features to the language and modified some of the existing ones. To keep the old code working, most such modifications are off by default. You need to explicitly enable them with a special directive: `"use strict"`.
7+
Bu vəziyyət 2009-cu ildə ECMAScript 5 (ES5) standartı təqdim edilənə qədər davam etdi. ES5 dilə yeni xüsusiyyətlər əlavə etdi və mövcud olan bəzi xüsusiyyətləri dəyişdirdi. Köhnə kodların işləməyə davam etməsi üçün bir çox dəyişikliklər susqunluq halında (by default) deaktiv edilmişdi. Bu dəyişiklikləri aktiv etmək üçün xüsusi bir direktivdən istifadə etməlisiniz: `"use strict"`.
88

99
## "use strict"
1010

11-
The directive looks like a string: `"use strict"` or `'use strict'`. When it is located at the top of a script, the whole script works the "modern" way.
11+
Bu direktiv bir string kimi görünür: `"use strict"` və ya `'use strict'`. Əgər bu direktiv bir skriptin ən üst hissəsində yerləşdirilərsə, həmin skript "müasir" qaydada işləyir.
1212

13-
For example:
13+
Məsələn:
1414

1515
```js
1616
"use strict";
1717

18-
// this code works the modern way
18+
// bu kod müasir qaydada işləyir
1919
...
2020
```
2121

22-
We will learn functions (a way to group commands) soon. Looking ahead, let's note that `"use strict"` can be put at the beginning of the function body instead of the whole script. Doing that enables strict mode in that function only. But usually, people use it for the whole script.
22+
Biz funksiyaları (ifadələri qruplaşdırmaq üçün bir yoldur) tezliklə öyrənəcəyik. İndilik isə qeyd etməliyik ki, `"use strict"` direktivini skriptin ən üstündə yerləşdirmək əvəzinə, bir funksiyanın başlanğıcına da əlavə etmək mümkündür. Bu halda yalnız həmin funksiya müasir qaydada işləyəcək. Lakin, adətən insanlar bu direktivi bütün skript üçün istifadə edirlər.
2323

24+
````warn header="\"use strict\" direktivinin ən üstdə olduğundan əmin olun"
25+
Əmin olun ki, `"use strict"` direktivi skriptinizin ən üst hissəsində yerləşir, əks halda sıx rejim aktivləşməyəcək.
2426
25-
````warn header="Ensure that \"use strict\" is at the top"
26-
Please make sure that `"use strict"` is at the top of your scripts, otherwise strict mode may not be enabled.
27-
28-
Strict mode isn't enabled here:
27+
Burada sıx rejim aktiv deyil:
2928
3029
```js no-strict
31-
alert("some code");
32-
// "use strict" below is ignored--it must be at the top
30+
alert("bəzi kodlar");
31+
// "use strict" aşağıda yerləşdiyindən nəzərə alınmayacaq -- o mütləq ən yuxarıda olmalıdır
3332
3433
"use strict";
3534
36-
// strict mode is not activated
35+
// sıx rejim aktiv deyil
3736
```
3837
39-
Only comments may appear above `"use strict"`.
38+
Sadəcə şərhlər `"use strict"` direktivindən əvvəl yerləşdirilə bilər.
4039
````
4140

42-
```warn header="There's no way to cancel `use strict`"
43-
There is no directive like `"no use strict"` that reverts the engine to old behavior.
41+
```warn header="`use strict`'i ləğv etmək mümkün deyil"
42+
Sıx rejimi deaktiv etmək üçün `"no use strict"` kimi bir direktiv mövcud deyil.
4443

45-
Once we enter strict mode, there's no going back.
44+
Bir dəfə sıx rejim aktivləşdikdən sonra, geri dönüş mümkün deyil.
4645
```
4746
48-
## Browser console
47+
## Brauzer Konsolu
4948
50-
For the future, when you use a browser console to test features, please note that it doesn't `use strict` by default.
49+
Gələcəkdə brauzerin konsolundan xüsusiyyətləri test etmək üçün istifadə etdikdə unutmayın ki, konsol susqunluq halında `use strict` seçənəyini aktivləşdirmir.
5150
52-
Sometimes, when `use strict` makes a difference, you'll get incorrect results.
51+
Bəzən, `use strict` ilə fərqlər yaranır və nəticədə yanlış nəticələr əldə edə bilərsiniz.
5352
54-
You can try to press `key:Shift+Enter` to input multiple lines, and put `use strict` on top, like this:
53+
`key:Shift+Enter` kombinasiyasından istifadə edərək çoxsətirli kod daxil edib `use strict` direktivini ən üstünə yerləşdirin. Məsələn:
5554
5655
```js
57-
'use strict'; <Shift+Enter for a newline>
58-
// ...your code
59-
<Enter to run>
56+
'use strict'; <Shift+Enter ilə yeni sətir əlavə edin>
57+
// ...sizin kod
58+
<İcra etmək üçün Enter>
6059
```
6160

62-
It works in most browsers, namely Firefox and Chrome.
61+
Bu metod əksər brauzerlərdə, məsələn, Firefox Chrome'da işləyir.
6362

64-
If it doesn't, the most reliable way to ensure `use strict` would be to input the code into console like this:
63+
Əgər bu işləməzsə, `use strict` ifadəsini istifadə etmənin ən etibarlı yolu aşağıdakı nümunədə göstərildiyi kimi istifadə etməkdir:
6564

6665
```js
6766
(function() {
6867
'use strict';
6968

70-
// ...your code...
69+
// ...sizin kod...
7170
})()
7271
```
7372

74-
## Always "use strict"
73+
## Hər Zaman "use strict"
7574

76-
We have yet to cover the differences between strict mode and the "default" mode.
75+
Biz hələ sıx rejim ilə "default" rejim arasındakı fərqləri tam əhatə etməmişik.
7776

78-
In the next chapters, as we learn language features, we'll note the differences between the strict and default modes. Luckily, there aren't many and they actually make our lives better.
77+
Növbəti fəsillərdə dil xüsusiyyətlərini öyrəndikcə, sıx rejim və defolt rejim arasındakı fərqləri vurğulayacağıq. Xoşbəxtlikdən, bu fərqlər azdır və həyatımızı daha da asanlaşdırır.
7978

80-
For now, it's enough to know about it in general:
79+
İndilik, aşağıdakıları bilmək kifayətdir:
8180

82-
1. The `"use strict"` directive switches the engine to the "modern" mode, changing the behavior of some built-in features. We'll see the details later in the tutorial.
83-
2. Strict mode is enabled by placing `"use strict"` at the top of a script or function. Several language features, like "classes" and "modules", enable strict mode automatically.
84-
3. Strict mode is supported by all modern browsers.
85-
4. We recommended always starting scripts with `"use strict"`. All examples in this tutorial assume strict mode unless (very rarely) specified otherwise.
81+
1. `"use strict"` direktivi mühərriki sıx rejimə keçirir və bəzi daxili xüsusiyyətlərin davranışını dəyişir. Bunun detallarını daha sonra dərslikdə öyrənəcəyik.
82+
2. `"use strict"` direktivini skriptin və ya funksiyanın ən üstünə yerləşdirərək sıx rejimi aktivləşdirə bilərsiniz. "Siniflər" ("classes") və "modullar" ("modules") kimi bəzi dil xüsusiyyətləri sıx rejimi avtomatik aktivləşdirir.
83+
3. Sıx rejim bütün müasir brauzerlər tərəfindən dəstəklənir.
84+
4. Tövsiyə olunur ki, bütün skriptlərinizə `"use strict"` ilə başlayasınız. Bu dərslikdəki nümunələrin hamısı, başqa cür göstərilmədiyi təqdirdə (çox nadir hallarda), sıx rejimi nəzərdə tutur.

0 commit comments

Comments
 (0)