Skip to content

Commit 23251fd

Browse files
authored
Merge pull request #68 from mostafaHegab/master
translate part 1, 2.16- functions, 2.17 arrow function basics to AR
2 parents d0319d7 + aa79984 commit 23251fd

File tree

17 files changed

+394
-376
lines changed

17 files changed

+394
-376
lines changed

1-js/02-first-steps/10-ifelse/5-rewrite-if-question/task.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44

55
# قم بتحويل 'if' إلى '?'
66

7-
قم بإعادة كتابة `if` باستخدام معامل الشرط `'?'`:
7+
قم بإعادة كتابة `if` باستخدام عامل الشرط `'?'`:
88

99
```js
1010
let result;
1111

1212
if (a + b < 4) {
13-
result = 'تحت';
13+
result = "تحت";
1414
} else {
15-
result = 'فوق';
15+
result = "فوق";
1616
}
1717
```

1-js/02-first-steps/10-ifelse/6-rewrite-if-else-question/task.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@
44

55
# قم بتحويل 'if..else' إلى '?'
66

7-
قم بإعادة كتابة `if..else` باستخدام العديد من معامل الشرط `'?'`.
7+
قم بإعادة كتابة `if..else` باستخدام العديد من عامل الشرط `'?'`.
88

99
ينصح بتقسيم الكود إلى أكثر من سطر ليكون مقروء.
1010

1111
```js
1212
let message;
1313

14-
if (login == 'Employee') {
15-
message = 'مرحبًا';
16-
} else if (login == 'Director') {
17-
message = 'تحياتي';
18-
} else if (login == '') {
19-
message = 'لا دخول';
14+
if (login == "Employee") {
15+
message = "مرحبًا";
16+
} else if (login == "Director") {
17+
message = "تحياتي";
18+
} else if (login == "") {
19+
message = "لا دخول";
2020
} else {
21-
message = '';
21+
message = "";
2222
}
2323
```

1-js/02-first-steps/10-ifelse/article.md

Lines changed: 39 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# المعامل الشرطي: if, '?'
1+
# العامل الشرطي: if, '?'
22

33
أحيانًا نريد تنفيذ أوامر مختلفة إعتمادًا على حالات مختلفة.
44

5-
لعمل هذا يمكننا استخدام عبارة `if` والمعامل الشرطي `?`, الذي يسمى أيضًا معامل "علامة الاستفهام".
5+
لعمل هذا يمكننا استخدام عبارة `if` والالعامل الشرطي `?`, الذي يسمى أيضًا العامل "علامة الاستفهام".
66

77
## عبارة "if"
88

@@ -24,8 +24,8 @@ if (year == 2015) alert( 'إجابة صحيحة!' );
2424

2525
```js
2626
if (year == 2015) {
27-
alert( "هذه صحيح!" );
28-
alert( "أنت ذكي!" );
27+
alert("هذه صحيح!");
28+
alert("أنت ذكي!");
2929
}
3030
```
3131

@@ -37,8 +37,8 @@ if (year == 2015) {
3737

3838
دعنا نراجع على قواعد التحويل من هذا الدرس <info:type-conversions>:
3939

40-
- الرقم `0`, النص الفارغ `""`, `null`, `undefined`, و `NaN` يصبحون `false`. ولهذا السبب يسمون "falsy" قيم.
41-
- القيم الأخرى تصبح `true`, ولهذا يسمون "truthy".
40+
- الرقم `0`, النص الفارغ `""`, `null`, `undefined`, و `NaN` يصبحون `false`. ولهذا السبب يسمون "falsy" قيم.
41+
- القيم الأخرى تصبح `true`, ولهذا يسمون "truthy".
4242

4343
لذلك فإن الأوامر المكتوبة تحت هذا الشرط لن تنفذ أبدًا:
4444

@@ -59,7 +59,7 @@ if (1) { // 1 يكون truthy
5959
يمكننا أيضًا تمرير قيمة منطقية مسبقة التنفيذ إلى `if`, مثل:
6060

6161
```js
62-
let cond = (year == 2015); // معامل التساوي ينتج true أو false
62+
let cond = (year == 2015); // عامل التساوي ينتج true أو false
6363

6464
if (cond) {
6565
...
@@ -71,13 +71,14 @@ if (cond) {
7171
عبارة `if` قد تحتوي على جزء "else" إختياري. يتم تنفيذها عندما يكون الشرط false.
7272

7373
على سبيل المثال:
74+
7475
```js run
75-
let year = prompt('في أي عام تم نشر تخصيصات ECMAScript-2015?', '');
76+
let year = prompt("في أي عام تم نشر تخصيصات ECMAScript-2015?", "");
7677

7778
if (year == 2015) {
78-
alert( 'تخمينك صحيح!' );
79+
alert("تخمينك صحيح!");
7980
} else {
80-
alert( 'كيف يمكنك أن تخطئ ؟' ); // any value except 2015
81+
alert("كيف يمكنك أن تخطئ ؟"); // any value except 2015
8182
}
8283
```
8384

@@ -88,22 +89,22 @@ if (year == 2015) {
8889
على سبيل المثال:
8990

9091
```js run
91-
let year = prompt('في أي عام تم نشر تخصيصات ECMAScript-2015?', '');
92+
let year = prompt("في أي عام تم نشر تخصيصات ECMAScript-2015?", "");
9293

9394
if (year < 2015) {
94-
alert( 'مبكر جدًا' );
95+
alert("مبكر جدًا");
9596
} else if (year > 2015) {
96-
alert( 'متأخر جدًا' );
97+
alert("متأخر جدًا");
9798
} else {
98-
alert( 'تمامًا' );
99+
alert("تمامًا");
99100
}
100101
```
101102

102103
في الكود السابق, تقوم الجافاسكربت أولًا بفحص `year < 2015`. إذا كان خطأ, تنتقل للشرط التالي `year > 2015`. إذا كان خطأ أيضًا تعرض آخر `alert`.
103104

104105
يمكن أن يوجد العديد من `else if` . آخر `else` إختيارية.
105106

106-
## المعامل الشرطي '?'
107+
## العامل الشرطي '?'
107108

108109
أحيانا نريد تخصيص قيمة متغير بناءًا على شرط معين.
109110

@@ -124,11 +125,12 @@ if (age > 18) {
124125
alert(accessAllowed);
125126
```
126127

127-
المعامل الشرطي أو معامل علامة الاستفهام يمكننا من فعل هذا في سطر بسيط.
128+
العامل الشرطي أو عامل علامة الاستفهام يمكننا من فعل هذا في سطر بسيط.
128129

129-
يتم تمثيله بعلامة استفهام `?`. أحيانا يسمى "ternary" لأن له 3 معاملات. وهو المعامل الوحيد في الجافاسكربت الذي له هذا العدد من المعاملات.
130+
يتم تمثيله بعلامة استفهام `?`. أحيانا يسمى "ternary" لأن له 3 معاملات. وهو العامل الوحيد في الجافاسكربت الذي له هذا العدد من المعاملات.
130131

131132
طريقة كتابته كالتالي:
133+
132134
```js
133135
let result = condition ? value1 : value2;
134136
```
@@ -138,23 +140,23 @@ let result = condition ? value1 : value2;
138140
على سبيل المثال:
139141

140142
```js
141-
let accessAllowed = (age > 18) ? true : false;
143+
let accessAllowed = age > 18 ? true : false;
142144
```
143145

144-
يمكننا تجاهل الأقواس حول `age > 18`. هذا المعامل لديه أولوية أقل ولهذا يتم تنفيذه بعد عملية المقارنة `>`.
146+
يمكننا تجاهل الأقواس حول `age > 18`. هذا العامل لديه أولوية أقل ولهذا يتم تنفيذه بعد عملية المقارنة `>`.
145147

146148
هذا المثال مطابق للمثال السابق:
147149

148150
```js
149-
// معامل المقارنة "age > 18" ينفذ أولًا
151+
// عامل المقارنة "age > 18" ينفذ أولًا
150152
// (لا حاجة لوضعة داخل أقواس)
151153
let accessAllowed = age > 18 ? true : false;
152154
```
153155

154156
لكن الأقواس تجعل الكود مقروء أكثر ولذلك ننصح باستخدامها
155157

156158
````smart
157-
في المثال السابق يمكننا عدم استخدام المعامل الشرطي لأن عملية المقارنة ترجع `true/false`:
159+
في المثال السابق يمكننا عدم استخدام العامل الشرطي لأن عملية المقارنة ترجع `true/false`:
158160
159161
```js
160162
// مثل
@@ -167,15 +169,20 @@ let accessAllowed = age > 18;
167169
تتابع `?` يمكنه إرجاع قيمة تعتمد على أكثر من شرط.
168170

169171
على سبيل المثال:
172+
170173
```js run
171-
let age = prompt('العمر؟', 18);
174+
let age = prompt("العمر؟", 18);
172175

173-
let message = (age < 3) ? 'مرحبًا يا صغيري!' :
174-
(age < 18) ? 'أهلا!' :
175-
(age < 100) ? 'تحياتي!' :
176-
'يا له من عمر غير عادي!';
176+
let message =
177+
age < 3
178+
? "مرحبًا يا صغيري!"
179+
: age < 18
180+
? "أهلا!"
181+
: age < 100
182+
? "تحياتي!"
183+
: "يا له من عمر غير عادي!";
177184

178-
alert( message );
185+
alert(message);
179186
```
180187

181188
ربما يكون من الصعب معرفة ما يحدث ولكن إذا نظرنا عن قرب سنجد أنه مجرد تتابع لمجموعة إختبارات:
@@ -189,13 +196,13 @@ alert( message );
189196

190197
```js
191198
if (age < 3) {
192-
message = 'مرحبًا يا صغيري!';
199+
message = "مرحبًا يا صغيري!";
193200
} else if (age < 18) {
194-
message = 'أهلا!';
201+
message = "أهلا!";
195202
} else if (age < 100) {
196-
message = 'تحياتي!';
203+
message = "تحياتي!";
197204
} else {
198-
message = 'يا له من عمر غير عادي!';
205+
message = "يا له من عمر غير عادي!";
199206
}
200207
```
201208

@@ -216,7 +223,7 @@ let company = prompt('أي شركة أنشأت الجافاسكربت ؟', '');
216223

217224
هنا لم نقم بتخصيص قيم مختلفة لمتغير بل قمنا بتنفيذ أوامر مختلفة اعتمادًا على الشرط
218225

219-
**لا ينصح باستخدام المعامل بهذه الطريقة.**
226+
**لا ينصح باستخدام العامل بهذه الطريقة.**
220227

221228
هذا التعبير مختصر عن عبارة `if` ولكنه أقل قراءة.
222229

1-js/02-first-steps/11-logical-operators/8-if-question/solution.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,15 @@
55
```js run
66
// ينفذ
77
// نتيجة -1 || 0 = -1 هي truthy
8-
if (-1 || 0) alert( 'first' );
8+
if (-1 || 0) alert("first");
99

1010
// لا ينفذ
1111
// -1 && 0 = 0, falsy
12-
if (-1 && 0) alert( 'second' );
12+
if (-1 && 0) alert("second");
1313

1414
// ينفذ
15-
// المعامل && له أولوية أعلى من ||
15+
// العامل && له أولوية أعلى من ||
1616
// لذلك يتم تنفيذ -1 && 1 أولا وينتج التالي:
1717
// null || -1 && 1 -> null || 1 -> 1
18-
if (null || -1 && 1) alert( 'third' );
18+
if (null || (-1 && 1)) alert("third");
1919
```
20-

0 commit comments

Comments
 (0)