Skip to content

Commit ea9fb2c

Browse files
authored
Merge pull request #129 from galenteryan/specials
JavaScript specials
2 parents 5590fbb + 9ed2786 commit ea9fb2c

File tree

1 file changed

+37
-37
lines changed
  • 1-js/02-first-steps/18-javascript-specials

1 file changed

+37
-37
lines changed

1-js/02-first-steps/18-javascript-specials/article.md

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# JavaScript-ի հատկանիշները
22

3-
Այս գլխում, հատուկ ուշադրություն դարձնելով նրբություններին, հակիրճ կամփոփենք JavaScript-ի առանձնահատկությունները, որոնք ուսումնասիրել ենք մինչ այս:
3+
Այս գլխում՝ հատուկ ուշադրություն դարձնելով նրբություններին, հակիրճ կամփոփենք JavaScript-ի այն առանձնահատկությունները, որոնք ուսումնասիրել ենք մինչ այս:
44

55
## Կոդի կառուցվածք
66

7-
Հայտարարությունները տարանջատվում են կետ-ստորակետով.
7+
Դրույթները տարանջատվում են կետ-ստորակետով.
88

99
```js run no-beautify
1010
alert('Ողջույն'); alert('Աշխարհ');
@@ -25,21 +25,21 @@ alert("Այս հաղորդագրությունից հետո սխալ կլինի:
2525
[1, 2].forEach(alert)
2626
```
2727

28-
Կոդի գրելաձևին և ոճին վերաբերվող ուղեցույցների մեծ մասը խորհուրդ են տալիս, որ մենք պետք է կետ-ստորակետ դնենք յուրաքանչյուր հայտարարությունից հետո:
28+
Կոդի գրելաձևին և ոճին վերաբերվող ուղեցույցների մեծ մասը խորհուրդ են տալիս, որ մենք պետք է կետ-ստորակետ դնենք յուրաքանչյուր դրույթից հետո:
2929

30-
Կոդերի բլոկներից `{...}` և դրանցով կառուցված շարահյուսական կոնստրուկցիաներից հետո կետ-ստորակետեր չեն պահանջվում՝ ինչպես ցիկլում է.
30+
Կոդի բլոկներից `{...}` և դրանցով կառուցված շարահյուսական կոնստրուկցիաներից հետո կետ-ստորակետեր չեն պահանջվում՝ ինչպես ցիկլում է.
3131

3232
```js
3333
function f() {
34-
// կետ-ստորակետ պետք չէ ֆունկցիայի հայտարարումից հետո
34+
// կետ-ստորակետ պետք չէ ֆունկցիոնալ հռչակագրից հետո
3535
}
3636

3737
for(;;) {
3838
// կետ-ստորակետ պետք չէ ցիկլից հետո
3939
}
4040
```
4141

42-
...Սակայն, եթե մենք «ավելնորդ» կետ-ստորակետ դնենք, սխալ չի լինի։ Այն պարզապես կանտեսվի:
42+
...Սակայն, եթե մենք «ավելորդ» կետ-ստորակետ դնենք, սխալ չի լինի։ Այն պարզապես կանտեսվի:
4343

4444
Մանրամասն՝ <info:structure>.
4545

@@ -55,64 +55,64 @@ for(;;) {
5555

5656
Այդ ցուցումը պետք է լինի սքրիփթի սկզբում կամ ֆունկցիայի մարմնի սկզբում:
5757

58-
Առանց `"use strict"` օգտագործելու ամեն ինչ կաշխատի, բայց որոշ առանձնահատկությունների վարքագիծը կլինի հնաոճ ձևի հետ «համատեղելի» եղանակով։ Ընդհանուր առմամբ մենք կնախընտրեինք ժամանակակից վարքագիծը:
58+
Առանց `"use strict"` օգտագործելու ամեն ինչ կաշխատի, բայց որոշ առանձնահատկությունների վարքագիծը կլինի հնաոճ ձևի հետ «համատեղելի» եղանակով։ Ընդհանուր առմամբ մենք կնախընտրենք ժամանակակից վարքագիծը:
5959

60-
Լեզվի որոշ ժամանակակից առանձնահատկություններ (օրինակ՝ կլասները, որոնք պետք է սովորենք հետագայում) լռեցյալ ակտիվացնում են խիստ ռեժիմը։
60+
Լեզվի որոշ ժամանակակից առանձնահատկություններ (օրինակ՝ կլասները, որոնք կսովորենք հետագայում) անուղղակիորեն ակտիվացնում են խիստ ռեժիմը։
6161

6262
Ավելին՝ <info:strict-mode>։
6363

6464
## Փոփոխականներ
6565

66-
Կարող ենք հայտարարել, օգտագործելով․
66+
Կարող են հռչակվել՝ օգտագործելով․
6767

6868
- `let`
6969
- `const` (հաստատուն, չի կարող փոփոխվել)
7070
- `var` (հին ոճ, կդիտարկենք ավելի ուշ)
7171

72-
Փոփոխականի անվանումը կարող է ներառել
72+
Փոփոխականի անվանումը կարող է պարունակել
7373
- Տառեր և թվեր, բայց առաջին նիշը չի կարող լինել թիվ:
7474
- `$` և `_` նիշերը նորմալ են, համարժեք են տառերին։
7575
- Թույլատրվում են նաև ոչ լատինական այբուբեններ և հիերոգլիֆներ, բայց սովորաբար չեն օգտագործվում:
7676

77-
Փոփոխականները տեսակավորվում են դինամիկ կերպով և կարող են պահել ցանկացած արժեք.
77+
Փոփոխականները տիպավորվում են դինամիկ կերպով և կարող են պահել ցանկացած արժեք.
7878

7979
```js
8080
let x = 5;
8181
x = "Պողոս";
8282
```
8383

84-
Տվյալների 8 տեսակ կա.
84+
Տվյալների 8 տիպեր կան.
8585

8686
- `number` ինչպես կոտորակային, այնպես էլ ամբողջ թվերի համար,
8787
- `bigint` կամայական երկարություն ունեցող ամբողջ թվերի համար,
8888
- `string` տողերի համար,
8989
- `boolean` տրամաբանական արժեքների համար՝ `true/false`,
90-
- `null` -- մեկ արժեք ունեցող տեսակ՝ `null`, նշանակում է «դատարկ» կամ «գոյություն չունի»,
91-
- `undefined` -- մեկ արժեք ունեցող տեսակ՝ `undefined`, նշանակում է «չնշված»,
92-
- `object` և `symbol` -- բարդ տվյալների կառուցվածքների և յուրահատուկ նույնացուցիչների համար, մենք դեռ չենք սովորել դրանք։
90+
- `null` մեկ արժեք ունեցող տեսակ՝ `null`, նշանակում է «դատարկ» կամ «գոյություն չունեցող»,
91+
- `undefined` մեկ արժեք ունեցող տեսակ՝ `undefined`, նշանակում է «չսահմանված»,
92+
- `object` և `symbol` բարդ տվյալների կառուցվածքների և ունիկալ նույնականացուցիչների համար. մենք դեռ չենք սովորել դրանք։
9393

9494
`typeof` օպերատորը վերադարձնում է արժեքի տեսակը երկու բացառությամբ.
9595
```js
9696
typeof null == "object" // սխալ լեզվում
97-
typeof function(){} == "function" // ֆունկցիաները վերարտադրվում են առանձնահատուկ կերպով
97+
typeof function(){} == "function" // ֆունկցիաները մշակվում են առանձնահատուկ կերպով
9898
```
9999

100100
Ավելին՝ <info:variables> և <info:types>։
101101

102102
## Փոխազդեցություն
103103

104-
Մենք բրաուզերն ենք օգտագործում որպես աշխատանքային միջավայր, ուստի UI-ի (օգտվողի ինտերֆեյս) հիմնական ֆունկցիաները կլինեն.
104+
Մենք բրաուզերն ենք օգտագործում որպես աշխատանքային միջավայր, ուստի UI-ի (օգտատիրոջ ինտերֆեյս) հիմնական ֆունկցիաները կլինեն.
105105

106106
[`prompt(question, [default])`](mdn:api/Window/prompt)
107-
: Հարց է տալիս `question`, այնուհետև վերադարձնում է այն, ինչ մուտքագրել է այցելուն կամ՝ `null`, եթե այցելուն սեղմել է «Cancel»:
107+
: Հարց է տալիս `question`, այնուհետև վերադարձնում է այն, ինչ մուտքագրել է այցելուն կամ `null`, եթե այցելուն սեղմել է «Cancel»:
108108

109109
[`confirm(question)`](mdn:api/Window/confirm)
110110
: Հարց է տալիս `question` և առաջարկում ընտրություն կատարել՝ «Ok» կամ «Cancel». Ընտրությունը վերադարձվում է որպես `true/false`։
111111

112112
[`alert(message)`](mdn:api/Window/alert)
113-
: Ցուցադրում է հաղորդագրություն `message`։
113+
: Արտատպում է հաղորդագրություն `message`։
114114

115-
Բոլոր այս ֆունկցիաները *մոդալ* են, նրանք դադարեցնում են կոդի կատարումը և թույլ չեն տալիս այցելուներին փոխազդեցություն ունենալ էջի հետ, մինչև նրանք չպատասխանեն։
115+
Բոլոր այս ֆունկցիաները *modal* են, նրանք դադարեցնում են կոդի գործարկումը և թույլ չեն տալիս այցելուներին փոխազդեցություն ունենալ էջի հետ, մինչև նրանք «չպատասխանեն»։
116116

117117
Օրինակ.
118118

@@ -133,43 +133,43 @@ JavaScript-ը սպասարկում է հետևյալ օպերատորները.
133133
Թվաբանական
134134
: Կանոնավոր՝ `* + - /`, նաև `%` մնացորդի համար և `**` աստիճան բարձրացնելու համար։
135135

136-
Բինար գումարումը `+` միացնում է տողերը։ Եթե օպերանդներից մեկը տող է, մյուսը նույնպես վերածվում է տողի․
136+
Բինար գումարումը `+` միացնում է տողերը։ ԵՎ եթե օպերանդներից մեկը տող է, մյուսը նույնպես փոխակերպվում է տողի․
137137

138138
```js run
139139
alert( '1' + 2 ); // '12', տող
140140
alert( 1 + '2' ); // '12', տող
141141
```
142142

143143
Վերագրում
144-
: Կա պարզ վերագրում `a = b` և համակցված վերագրում `a *= 2`։
144+
: Կա պարզ վերագրում՝ `a = b`, և համակցված վերագրում՝ `a *= 2`։
145145

146146
Բիթային
147-
: Բիթային օպերատորները աշխատում են 32-բիթ ամբողջ թվերի հետ ամենացածր՝ բիթային մակարդակում. տեսեք [docs](mdn:/JavaScript/Guide/Expressions_and_Operators#Bitwise)-ում, երբ դրա կարիքը լինի:
147+
: Բիթային օպերատորները աշխատում են 32-բիթ ամբողջ թվերի հետ ամենացածր՝ բիթային մակարդակում. տեսեք [դոկումենտացիան](mdn:/JavaScript/Guide/Expressions_and_Operators#Bitwise)-ում, երբ դրա կարիքը լինի:
148148

149149
Պայմանական
150150
: Միակ օպերատորը երեք պարամետրով՝ `cond ? resultA : resultB`։ Եթե `cond` պայմանը ճշմարիտ է, վերադարձվում է `resultA`, հակառակ դեպքում՝ `resultB`։
151151

152152
Տրամաբանական օպերատորներ
153-
: Տրամաբանական ԵՎ `&&` ու ԿԱՄ `||` օպերատորները իրականացնում են «կարճ միացման» արժեվորում, այնուհետև վերադարձնում են արժեք՝ որտեղ կանգ են առել (պարտադիր չէ `true`/`false`). Տրամաբանական ՈՉ `!` կերպափոխում է օպերանդը տրամաբանական տեսակի և վերադարձնում է հակառակ արժեքը։
153+
: Տրամաբանական ԵՎ `&&` ու ԿԱՄ `||` օպերատորները իրականացնում են «կարճ միացման» արժեվորում, այնուհետև վերադարձնում են արժեք՝ որտեղ կանգ են առել (պարտադիր չէ `true`/`false`). Տրամաբանական ՈՉ `!` վերածում է օպերանդը տրամաբանական տեսակի և վերադարձնում հակառակ արժեքը։
154154

155155
Զրոյական միավորման օպերատոր
156156
: `??` օպերատորը փոփոխականների ցանկից հատկանշված արժեքի ընտրության հնարավորություն է տալիս: `a ?? b`-ի արդյունքը կլինի `a`, եթե այն `null/undefined` չէ, հակառակ դեպքում՝ `b`:
157157

158158
Համեմատություններ
159-
: հավասարության ստուգումը `==` տարբեր տեսակի արժեքների դեպքում նրանց կերպափոխում է թվի (բացի `null` և `undefined` տեսակներից, որոնք միայն իրար կարող են հավասար լինել), այսպիսով սրանք հավասար են.
159+
: հավասարության ստուգումը `==` տարբեր տիպերի արժեքների դեպքում նրանց փոխակերպում է թվի (բացի `null` և `undefined` տիպերից, որոնք միայն իրար կարող են հավասար լինել), այսպիսով սրանք հավասար են.
160160

161161
```js run
162162
alert( 0 == false ); // true
163163
alert( 0 == '' ); // true
164164
```
165165

166-
Այլ համեմատությունները նույնպես արժեքները կերպափոխում են թվի:
166+
Այլ համեմատությունները նույնպես արժեքները փոխակերպում են թվի:
167167

168-
Խիստ հավասարության օպերատորը `===` չի կատարում կերպափոխում․ նրա համար տարբեր տեսակները միշտ ունեն տարբեր արժեքների նշանակությունը։
168+
Խիստ հավասարության օպերատորը `===` չի կատարում փոխակերպում․ նրա համար տարբեր տիպերը միշտ ունեն տարբեր արժեքների նշանակություն։
169169

170-
`null` և `undefined` արժեքները հատուկ են․ նրանք հավասար են `==` իրար և ուրիշ ոչնչի հավասար չեն։
170+
`null` և `undefined` արժեքները հատուկ են․ նրանք հավասար են `==` իրար և ուրիշ ոչինչի հավասար չեն։
171171

172-
Մեծ/փոքր համեմատությունները տողերին համեմատում են նիշ-առ-շիշ, մյուս տեսակներին կերպափոխվում են թվի։
172+
Մեծ/փոքր համեմատությունները տողերին համեմատում են նիշ-առ-շիշ, մյուս տիպերը փոխակերպվում են թվի։
173173

174174
Այլ օպերատորներ
175175
: Կա մի քանի ալյ օպերատոր, օր․՝ ստորակետի օպերատորը։
@@ -197,7 +197,7 @@ JavaScript-ը սպասարկում է հետևյալ օպերատորները.
197197
}
198198
```
199199

200-
- `for(let...)` ցիկլում հայտարարված փոփոխականը հասանելի է միայն ցիկլի ներսում։ Բայց մենք կարող ենք նաև բաց թողնել `let`-ը և կրկին օգտագործել արդեն իսկ գոյություն ունեցող փոփոխականը:
200+
- `for(let...)` ցիկլում հռչակված փոփոխականը հասանելի է միայն ցիկլի ներսում։ Բայց մենք կարող ենք նաև բաց թողնել `let`-ը և կրկին օգտագործել արդեն իսկ գոյություն ունեցող փոփոխականը:
201201
- `break/continue` հրահանգները թույլ են տալիս դուրս գալ ամբողջ ցիկլից/ընթացիկ կրկնությունից: Օգտագործեք պիտակներ ներդրված ցիկլները կանգնեցնելու համար։
202202

203203
Մանրամասն՝ <info:while-for>։
@@ -206,7 +206,7 @@ JavaScript-ը սպասարկում է հետևյալ օպերատորները.
206206

207207
## Կոնստրուկցիա «switch»
208208

209-
կոնստրուկցիա «switch»կարող է փոխարինել մի քանի `if` ստուգումներ. Համեմատությունների ժամանակ այն օգտագործում է `===` խիստ հավասարման օպերատորը։
209+
«switch» կոնստրուկցիան կարող է փոխարինել մի քանի `if` ստուգումների. Համեմատությունների ժամանակ այն օգտագործում է `===` խիստ հավասարման օպերատորը։
210210

211211
Օրինակ՝
212212

@@ -223,7 +223,7 @@ switch (age) {
223223
break;
224224

225225
default:
226-
alert("Ցանկացած արժեք՝ վերոնշյալներին ոչ հավասար");
226+
alert("Վերոնշյալներին ոչ հավասար ցանկացած արժեք");
227227
}
228228
```
229229

@@ -233,7 +233,7 @@ switch (age) {
233233

234234
Մենք դիտարկեցինք JavaScript-ում ֆունկցիաներ ստեղծելու երեք տարբերակ․
235235

236-
1. Function Declaration -- ֆունկցիան հիմնական կոդի հոսքում․
236+
1. Ֆունկցիոնալ Հռչակագիր (Function Declaration). ֆունկցիան հիմնական կոդի հոսքում․
237237

238238
```js
239239
function sum(a, b) {
@@ -243,7 +243,7 @@ switch (age) {
243243
}
244244
```
245245

246-
2. Function Expression -- ֆունկցիան արտահայտության համատեքստում․
246+
2. Ֆունկցիոնալ Արտահայտություն (Function Expression). ֆունկցիան արտահայտության համատեքստում․
247247

248248
```js
249249
let sum = function(a, b) {
@@ -253,7 +253,7 @@ switch (age) {
253253
};
254254
```
255255

256-
3. Սլաքով ֆունկցիաներ․
256+
3. Սլաքով ֆունկցիաներ (arrow functions)
257257

258258
```js
259259
// արտահայտությունն աջ կողմում է
@@ -273,9 +273,9 @@ switch (age) {
273273
```
274274

275275

276-
- Ֆունկցիաները կարող են ունենալ տեղական (local) փոփոխականներ․ դրանք հայտարարվում են իրենց մարմնի ներսում կամ պարամետրերի ցանկում. Նման փոփոխականները հասանելի են միայն ֆունկցիայի ներսում:
276+
- Ֆունկցիաները կարող են ունենալ տեղական (local) փոփոխականներ․ դրանք հայտարարվում են իրենց մարմնի ներսում կամ պարամետրերի ցանկում: Նման փոփոխականները հասանելի են միայն ֆունկցիայի ներսում:
277277
- Պարամետրերը կարող են ունենալ նախնական արժեք․ `function sum(a = 1, b = 2) {...}`։
278-
- Ֆունկցիաները միշտ ինչ-որ բան են վերադարձնում. եթե չկա `return` հայտարարությունը, ապա արդյունքը `undefined` է։
278+
- Ֆունկցիաները միշտ ինչ-որ բան են վերադարձնում. եթե չկա `return` դրույթը, ապա արդյունքը `undefined` է։
279279

280280
Մանրամասն՝ <info:function-basics>, <info:arrow-functions-basics>։
281281

0 commit comments

Comments
 (0)