Skip to content

Commit

Permalink
Improving all courses
Browse files Browse the repository at this point in the history
  • Loading branch information
TeaByte committed Feb 22, 2024
1 parent efbe999 commit 7bfee2e
Show file tree
Hide file tree
Showing 39 changed files with 206 additions and 204 deletions.
12 changes: 6 additions & 6 deletions courses/arrays/intro.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
title: المصفوفات والتعامل معها
snippet: هو نوع بيانات في JavaScript يمثل بيانات مجموعة معا
snippet: هو نوع بيانات في جافاسكربت يمثل بيانات مجموعة معا
order: 1
---

[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)
هو نوع بيانات في JavaScript يمثل بيانات مجموعة معا.
[(Array)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)
هو نوع بيانات في جافاسكربت يمثل بيانات مجموعة معا.

## كتابة المصفوفات

باستخدام متغيرات مصفوفة JavaScript، يمكننا تخزين عدة أجزاء من البيانات في مكان
باستخدام متغيرات مصفوفة جافاسكربت، يمكننا تخزين عدة أجزاء من البيانات في مكان
واحد.

تبدأ تعريف المصفوفة بقوس مربع للفتح، وتنتهي بقوس مربع للإغلاق، وتضع فاصلة بين كل
Expand All @@ -24,10 +24,10 @@ const sandwich = ["peanut butter", "jelly", "bread"];
يمكنك أيضًا دمج المصفوفات ضمن مصفوفات أخرى، كما هو موضح أدناه:

```js
const teams = [["Bulls", 23], ["White Sox", 45]];
const teams = [["Hackers", 23], ["Coders", 45]];
```

ويسمى هذا أيضًا بمصفوفة متعددة الأبعاد (Multidimensional Array).
ويسمى هذا أيضًا بمصفوفة متعددة الأبعاد (`Multidimensional Array`).

## التعامل مع المصفوفات

Expand Down
18 changes: 9 additions & 9 deletions courses/arrays/manipulate-arrays.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ order: 3
const arr1 = [1, 2, 3];
arr1.push(4, 5);

const arr2 = ["Stimpson", "J", "cat"];
const arr2 = ["dog", "J", "cat"];
arr2.push(["happy", "joy"]);
```

أصبح لـ `arr1` الآن القيمة`[5, 4, 3, 2, 1]` و `arr2` له القيمة
`[["happy", "joy"], "Stimpson", "J", "cat"]`.
أصبح إلى `arr1` الآن القيمة`[5, 4, 3, 2, 1]` و `arr2` له القيمة
`[["happy", "joy"], "dog", "J", "cat"]`.

## pop

Expand Down Expand Up @@ -50,12 +50,12 @@ console.log(threeArr);
الأول بدلاً من الأخير.

```js
const ourArray = ["Stimpson", "J", ["cat"]];
const ourArray = ["dog", "J", ["cat"]];
const removedFromOurArray = ourArray.shift();
```

والدالة `()shift` ستزيل القيمة `Stimpson` من `ourArray` وستعيدها كقيمة. يعني
قيمة `removedFromOurArray` ستكون `Stimpson` و `ourArray` ستكون `["J", "cat"]`.
والدالة `()shift` ستزيل القيمة `dog` من `ourArray` وستعيدها كقيمة. يعني قيمة
`removedFromOurArray` ستكون `dog` و `ourArray` ستكون `["J", "cat"]`.

## unshift

Expand All @@ -66,14 +66,14 @@ const removedFromOurArray = ourArray.shift();
يضيف `()unshift` العنصر في بداية المصفوفة.

```js
const ourArray = ["Stimpson", "J", "cat"];
const ourArray = ["dog", "J", "cat"];
ourArray.shift();
ourArray.unshift("Happy");
```

بعد `shift` سيكون لـ `ourArray` القيمة `["J", "cat"]`. بعد `unshift` سيكون لـ
بعد `shift` سيكون إلى `ourArray` القيمة `["J", "cat"]`. بعد `unshift` سيكون إلى
`ourArray` القيمة `["Happy"، "J"، "cat"]`.

<div class="quiz">
`قم بحذف أول عنصر من المصفوفة myArray وأضف العنصر <code>[Ali", 35"]</code> إلى بداية المصفوفة.`
قم بحذف أول عنصر من المصفوفة <code>myArray</code> وأضف العنصر <code>[Ali", 35"]</code> إلى بداية المصفوفة.
</div>
11 changes: 5 additions & 6 deletions courses/arrays/multidimensional-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,11 @@ const nestedSubarray = arr[3][0];
const element = arr[3][0][1];
```

في هذا المثال، `subarray` له القيمة `[[10, 11, 12], 13, 14]`، و `nestedSubarray`
له القيمة `[10, 11, 12]`، و `element` له القيمة `11` .
في هذا المثال `subarray` له القيمة `[[10, 11, 12], 13, 14]` و `nestedSubarray`
له القيمة `[10, 11, 12]` و `element` له القيمة `11` .

<div class="quiz">
قم بطباعة العنصر الذي قيمته 13 من المصفوفة متعددة الأبعاد التالية:
<code>
const arr = [[1, 2, 3],[4, 5, 6],[7, 8, 9],[[10, 11, 12], 13, 14]]
</code>
قم بطباعة العنصر الذي قيمته <code>13</code> من المصفوفة متعددة الأبعاد التالية:
<br>
<code>const arr = [[1, 2, 3],[4, 5, 6],[7, 8, 9],[[10, 11, 12], 13, 14]]</code>
</div>
2 changes: 1 addition & 1 deletion courses/booleans.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ order: 9

<mark>
لا يتم كتابة القيم المنطقية أبدًا مع علامات الاقتباس. السلاسل "true" و"false"
ليست منطقية وليس لها أي معنى خاص في JavaScript.
ليست منطقية وليس لها أي معنى خاص في جافاسكربت.
</mark>

```js
Expand Down
12 changes: 6 additions & 6 deletions courses/comments.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,20 @@ snippet: تعد التعليقات طريقة رائعة لترك ملاحظات
order: 2
---

التعليقات عبارة عن أسطر من التعليمات البرمجية التي ستتجاهلها JavaScript عمدًا.
تعد التعليقات طريقة رائعة لترك ملاحظات لنفسك وللأشخاص الآخرين الذين سيحتاجون
لاحقًا إلى معرفة ما تفعله هذه التعليمات البرمجية.
التعليقات عبارة عن أسطر من التعليمات البرمجية التي ستتجاهلها جافاسكربت عمدًا. تعد
التعليقات طريقة رائعة لترك ملاحظات لنفسك وللأشخاص الآخرين الذين سيحتاجون لاحقًا
إلى معرفة ما تفعله هذه التعليمات البرمجية.

هناك طريقتان لكتابة التعليقات في JavaScript.
هناك طريقتان لكتابة التعليقات في جافاسكربت.

سيؤدي استخدام `//` إلى مطالبة JavaScript بتجاهل بقية النص الموجود في السطر
سيؤدي استخدام (`//`) إلى مطالبة جافاسكربت بتجاهل بقية النص الموجود في السطر
الحالي:

```js
// هذا تعليق
```

يمكنك كتابة تعليق متعدد الأسطر يبدأ بـ `/* وينتهي بـ */.` هذا تعليق متعدد
يمكنك كتابة تعليق متعدد الأسطر يبدأ بـ (`/* وينتهي بـ */.`) هذا تعليق متعدد
الأسطر:

```js
Expand Down
14 changes: 7 additions & 7 deletions courses/compound-operators.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ order: 5
---

في عالم البرمجة، تُستخدم المشغلات او العوامل او المهام لأداء العمليات على
البيانات. تأتي المشغلات بأنواع متعددة، كما ذكرنا في دروس سابقا مثل `*`, `-`, `=`
وغيرها الكثير ذكرنا في دروس وغيرها لم نذكرها بعد.
البيانات. تأتي المشغلات بأنواع متعددة، كما ذكرنا في دروس سابقا مثل (`*`), (`-`),
(`=`) وغيرها الكثير ذكرنا في دروس وغيرها لم نذكرها بعد.

سنتعرف في الدرس هذا على العوامل المركبه.

Expand All @@ -22,32 +22,32 @@ console.log(myVar); // 10
لإضافة `5` إلى `myVar`. وبما أن هذا النمط شائع، فهناك عوامل تقوم بإجراء عملية
رياضية وتعيين في خطوة واحدة.

أحد هذه العوامل هو عامل التشغيل `=+`.
أحد هذه العوامل هو عامل التشغيل (`=+`).

```js
let myVar = 1;
myVar += 5;
console.log(myVar); // 6
```

مثل عامل التشغيل `=+`، `=-` يطرح رقمًا من متغير.
مثل عامل التشغيل (`=+`)، (`=-`) يطرح رقمًا من متغير.

```js
myVar -= 5;
```

وايضا، عامل التشغيل `*=` يضرب من متغير.
وايضا، عامل التشغيل (`*=`) يضرب من متغير.

```js
myVar *= 5;
```

وختاما، عامل التشغيل `/=` يقسم من متغير.
وختاما، عامل التشغيل (`/=`) يقسم من متغير.

```js
myVar /= 5;
```

<div class="quiz">
قم بإنشاء متغير يسمى myVar واجعل قيمته 5. ثم استخدم عامل التشغيل <code>=+</code> لإضافة <code>10</code> إلى myVar.
قم بإنشاء متغير يسمى <code>myVar</code> واجعل قيمته <code>5</code>. ثم استخدم عامل التشغيل (<code>=+</code>) لإضافة <code>10</code> إلى <code>myVar</code>.
</div>
4 changes: 2 additions & 2 deletions courses/functions/assignment-returned.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ order: 6
ourSum = sum(5, 12);
```

يؤدي استدعاء الدالة `sum` باستخدام الوسيطتين `5` و`12` إلى الحصول على قيمة إرجاع
تبلغ `17`. ويتم تعيين قيمة الإرجاع هذه إلى متغير `ourSum`.
يؤدي استدعاء الدالة `sum` باستخدام الوسيطتين `5` و `12` إلى الحصول على قيمة
إرجاع تبلغ `17`. ويتم تعيين قيمة الإرجاع هذه إلى متغير `ourSum`.

<div class="quiz">
نعتذر عن عدم وجود اختبار لهذا الدرس حالياً. نحن نعمل بجد لإعداد اختبارات لجميع الدروس وسنقوم بتوفيرها في أقرب وقت ممكن.
Expand Down
8 changes: 4 additions & 4 deletions courses/functions/global-scope.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
title: النطاق العالمي والدوال
snippet: في JavaScript، يشير النطاق إلى رؤية المتغيرات
snippet: في جافاسكربت يشير النطاق إلى رؤية المتغيرات
order: 2
---

في JavaScript، يشير النطاق إلى رؤية المتغيرات. المتغيرات التي تم تعريفها خارج
كتلة الوظيفة لها نطاق عالمي. وهذا يعني أنه يمكن رؤيتها في كل مكان في كود
JavaScript الخاص بك.
في جافاسكربت يشير النطاق إلى رؤية المتغيرات. المتغيرات التي تم تعريفها خارج كتلة
الوظيفة لها نطاق عالمي. وهذا يعني أنه يمكن رؤيتها في كل مكان في كود جافاسكربت
الخاص بك.

يتم إنشاء المتغيرات التي تم الإعلان عنها بدون الكلمات الأساسية Let أو const
تلقائيًا في النطاق العام. يمكن أن يؤدي هذا إلى عواقب غير مقصودة في مكان آخر من
Expand Down
8 changes: 4 additions & 4 deletions courses/functions/intro.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: الدوال والتعامل معها
snippet: في JavaScript، يمكننا تقسيم الكود الخاص بنا إلى أجزاء قابلة لإعادة الاستخدام
snippet: في جافاسكربت، يمكننا تقسيم الكود الخاص بنا إلى أجزاء قابلة لإعادة الاستخدام
order: 1
---

## كتابة الدوال

في JavaScript، يمكننا تقسيم الكود الخاص بنا إلى أجزاء قابلة لإعادة الاستخدام
تسمى الدوال او الدوال
في جافاسكربت، يمكننا تقسيم الكود الخاص بنا إلى أجزاء قابلة لإعادة الاستخدام تسمى
الدوال او الدوال
([Function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function)).

```js
Expand Down Expand Up @@ -77,7 +77,7 @@ const answer = plusThree(5);

`answer` له القيمة `8`.

يأخذ `plusThree` وسيطة لـ `num` ويعيد قيمة تساوي `num + 3`.
يأخذ `plusThree` وسيطة إلى `num` ويعيد قيمة تساوي `num + 3`.

<div class="quiz">
قم بكتابة دالة اسمها <code>area</code> تأخذ وسيطتين <code>width</code> و <code>height</code> وترجع مساحة المستطيل
Expand Down
2 changes: 1 addition & 1 deletion courses/if-statements/bool-if-statements.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ order: 1

يتم استخدام الجمل الشرطية لاتخاذ قرارات.

الكلمة الأساسية `if` تطلب من JavaScript تنفيذ التعليمات البرمجية في الأقواس
الكلمة الأساسية `if` تطلب من جافاسكربت تنفيذ التعليمات البرمجية في الأقواس
المتعرجة وفقًا لشروط معينة، محددة بين الأقواس. تُعرف هذه الشروط بالشروط المنطقية
وقد تكون صحيحة أو خاطئة فقط.

Expand Down
20 changes: 10 additions & 10 deletions courses/if-statements/chaining-if-else.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,23 @@ order: 8
```js
function calculateGrade(score) {
if (score >= 90) {
console.log("Grade A");
console.log("A");
} else if (score >= 80) {
console.log("Grade B");
console.log("B");
} else if (score >= 70) {
console.log("Grade C");
console.log("C");
} else if (score >= 60) {
console.log("Grade D");
console.log("D");
} else {
console.log("Grade F");
console.log("F");
}
}

calculateGrade(95); // Grade A
calculateGrade(85); // Grade B
calculateGrade(75); // Grade C
calculateGrade(65); // Grade D
calculateGrade(55); // Grade F
calculateGrade(95); // A
calculateGrade(85); // B
calculateGrade(75); // C
calculateGrade(65); // D
calculateGrade(55); // F
```

<div class="quiz">
Expand Down
16 changes: 8 additions & 8 deletions courses/if-statements/comparison-with-equality-operator.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ snippet: يقارن عامل المساواة بين قيمتين
order: 2
---

هناك العديد من عوامل المقارنة في JavaScript. تقوم جميع عوامل التشغيل هذه بإرجاع
هناك العديد من عوامل المقارنة في جافاسكربت. تقوم جميع عوامل التشغيل هذه بإرجاع
قيمة منطقية صحيحة أو خاطئة.

العامل الأساسي هو عامل المساواة `==`. يقارن عامل المساواة بين قيمتين ويعيد صحيحًا
إذا كانتا متكافئتين أو خطأ إذا لم يكونا كذلك.
العامل الأساسي هو عامل المساواة (`==`). يقارن عامل المساواة بين قيمتين ويعيد
صحيحًا إذا كانتا متكافئتين أو خطأ إذا لم يكونا كذلك.

<mark>
لاحظ أن المساواة تختلف عن التعيين <code>=</code>، الذي يسند القيمة الموجودة على يمين العامل إلى متغير على اليسار.
لاحظ أن المساواة تختلف عن التعيين (<code>=</code>)، الذي يسند القيمة الموجودة على يمين العامل إلى متغير على اليسار.
</mark>

مثال:
Expand All @@ -27,12 +27,12 @@ function equalityTest(myVal) {

إذا كانت قيمة `myVal` تساوي `10`، فسيُرجع عامل المساواة القيمة `true`، وبالتالي
سيتم تنفيذ التعليمات البرمجية الموجودة بين الأقواس المتعرجة، وستُرجع الدالة
`يساوي`. وبخلاف ذلك، سترجع الدالة `لا يساوي`. لكي تتمكن JavaScript من مقارنة
`يساوي`. وبخلاف ذلك، سترجع الدالة `لا يساوي`. لكي تتمكن جافاسكربت من مقارنة
نوعين مختلفين من البيانات (على سبيل المثال، الأرقام والسلاسل)، يجب عليها تحويل
نوع واحد إلى آخر. يُعرف هذا باسم نوع الإكراه. ومع ذلك، بمجرد القيام بذلك، يمكنه
مقارنة المصطلحات على النحو التالي:

لكي تتمكن JavaScript من مقارنة نوعين مختلفين من البيانات (على سبيل المثال،
لكي تتمكن جافاسكربت من مقارنة نوعين مختلفين من البيانات (على سبيل المثال،
الأرقام والسلاسل)، يجب عليها تحويل نوع واحد إلى آخر. يُعرف هذا باسم نوع الإكراه.
ومع ذلك، بمجرد القيام بذلك، يمكنه مقارنة المصطلحات على النحو التالي:

Expand All @@ -47,8 +47,8 @@ function equalityTest(myVal) {

## عامل عدم المساواة

عامل عدم المساواة `=!` هو عكس عامل المساواة. وهذا يعني يعني ليس متساويا حيث تُرجع
خطأ عندما يكون الناتج صحيح في عامل المساواة والعكس صحيح. مثل عامل المساواة،
عامل عدم المساواة (`=!`) هو عكس عامل المساواة. وهذا يعني يعني ليس متساويا حيث
تُرجع خطأ عندما يكون الناتج صحيح في عامل المساواة والعكس صحيح. مثل عامل المساواة،
سيقوم عامل عدم المساواة بتحويل أنواع البيانات من القيم أثناء المقارنة.

امثله على عامل عدم المساواة:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ snippet: لا يقوم عامل المساواة الصارم بإجراء تح
order: 3
---

المساواة الصارمة `===` هي النظير لعامل المساواة `==`. ومع ذلك، على عكس عامل
المساواة الصارمة (`===`) هي النظير لعامل المساواة (`==`). ومع ذلك، على عكس عامل
المساواة، الذي يحاول تحويل كلتا القيمتين ( الاكراه )، لا يقوم عامل المساواة
الصارم بإجراء تحويل النوع.

Expand All @@ -16,14 +16,14 @@ order: 3
3 === "3"; // false
```

في المثال الثاني، 3 هو نوع رقم و'3' هو نوع سلسلة. وانتجت `false`بسبب عامل
في المثال الثاني، `3` هو نوع رقم و `'3'` هو نوع سلسلة. وانتجت `false` بسبب عامل
المساواة الصارم.

## عامل عدم المساواة الصارمة

عامل عدم المساواة الصارمة الصارمة `!==` هو العكس المنطقي لعامل المساواة الصارمة.
إنه يعني "غير متساوٍ تمامًا" ويُرجع خطأ حيث تُرجع المساواة الصارمة صحيحًا والعكس
صحيح. لن يقوم عامل عدم المساواة الصارم بتحويل أنواع البيانات.
عامل عدم المساواة الصارمة الصارمة (`!==`) هو العكس المنطقي لعامل المساواة
الصارمة. إنه يعني "غير متساوٍ تمامًا" ويُرجع خطأ حيث تُرجع المساواة الصارمة صحيحًا
والعكس صحيح. لن يقوم عامل عدم المساواة الصارم بتحويل أنواع البيانات.

```js
3 !== 3; // false
Expand Down
Loading

0 comments on commit 7bfee2e

Please sign in to comment.