From 7bfee2eac6409a79abaf5eb8b7eacc9f5a1f5ed0 Mon Sep 17 00:00:00 2001 From: teabyte Date: Thu, 22 Feb 2024 12:40:58 +0300 Subject: [PATCH] Improving all courses --- courses/arrays/intro.md | 12 +++---- courses/arrays/manipulate-arrays.md | 18 +++++------ courses/arrays/multidimensional-index.md | 11 +++---- courses/booleans.md | 2 +- courses/comments.md | 12 +++---- courses/compound-operators.md | 14 ++++---- courses/functions/assignment-returned.md | 4 +-- courses/functions/global-scope.md | 8 ++--- courses/functions/intro.md | 8 ++--- courses/if-statements/bool-if-statements.md | 2 +- courses/if-statements/chaining-if-else.md | 20 ++++++------ .../comparison-with-equality-operator.md | 16 +++++----- ...omparison-with-strict-equality-operator.md | 10 +++--- courses/if-statements/logical-operators.md | 23 ++++++------- .../logical-order-in-if-else-statements.md | 15 ++++----- courses/if-statements/relational-operators.md | 18 +++++------ .../loops/count-backwards-with-a-for-loop.md | 2 +- courses/loops/iterate-using-for-loops.md | 4 +-- courses/numbers/decimals.md | 10 +++--- courses/numbers/intro.md | 32 +++++++++---------- courses/objects/intro.md | 2 +- .../objects/manipulating-complex-objects.md | 6 ++-- courses/objects/updating-object-properties.md | 6 ++-- ...returning-boolean-values-from-functions.md | 2 +- courses/strings/bracket-examples.md | 14 ++++---- courses/strings/concatenating-strings.md | 18 +++++------ courses/strings/intro.md | 26 +++++++-------- courses/strings/length.md | 11 ++++--- courses/strings/understand-immutability.md | 4 +-- courses/strings/use-brackets.md | 4 +-- .../case-sensitivity-in-variables.md | 10 +++--- courses/variables/console.md | 10 +++--- courses/variables/intro.md | 18 +++++------ courses/variables/the-var-let-const.md | 20 ++++++------ courses/variables/uninitialized-variables.md | 2 +- routes/_404.tsx | 4 +-- routes/about.tsx | 4 +-- routes/group/[slug].tsx | 4 +-- routes/offline.tsx | 4 +-- 39 files changed, 206 insertions(+), 204 deletions(-) diff --git a/courses/arrays/intro.md b/courses/arrays/intro.md index 93687ff..d25a479 100644 --- a/courses/arrays/intro.md +++ b/courses/arrays/intro.md @@ -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، يمكننا تخزين عدة أجزاء من البيانات في مكان +باستخدام متغيرات مصفوفة جافاسكربت، يمكننا تخزين عدة أجزاء من البيانات في مكان واحد. تبدأ تعريف المصفوفة بقوس مربع للفتح، وتنتهي بقوس مربع للإغلاق، وتضع فاصلة بين كل @@ -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`). ## التعامل مع المصفوفات diff --git a/courses/arrays/manipulate-arrays.md b/courses/arrays/manipulate-arrays.md index 2747f75..8935304 100644 --- a/courses/arrays/manipulate-arrays.md +++ b/courses/arrays/manipulate-arrays.md @@ -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 @@ -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 @@ -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"]`.
-`قم بحذف أول عنصر من المصفوفة myArray وأضف العنصر [Ali", 35"] إلى بداية المصفوفة.` +قم بحذف أول عنصر من المصفوفة myArray وأضف العنصر [Ali", 35"] إلى بداية المصفوفة.
diff --git a/courses/arrays/multidimensional-index.md b/courses/arrays/multidimensional-index.md index 8d69f06..f105bd9 100644 --- a/courses/arrays/multidimensional-index.md +++ b/courses/arrays/multidimensional-index.md @@ -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` .
-قم بطباعة العنصر الذي قيمته 13 من المصفوفة متعددة الأبعاد التالية: - -const arr = [[1, 2, 3],[4, 5, 6],[7, 8, 9],[[10, 11, 12], 13, 14]] - +قم بطباعة العنصر الذي قيمته 13 من المصفوفة متعددة الأبعاد التالية: +
+const arr = [[1, 2, 3],[4, 5, 6],[7, 8, 9],[[10, 11, 12], 13, 14]]
diff --git a/courses/booleans.md b/courses/booleans.md index 9b6f08a..4672d1a 100644 --- a/courses/booleans.md +++ b/courses/booleans.md @@ -10,7 +10,7 @@ order: 9 لا يتم كتابة القيم المنطقية أبدًا مع علامات الاقتباس. السلاسل "true" و"false" -ليست منطقية وليس لها أي معنى خاص في JavaScript. +ليست منطقية وليس لها أي معنى خاص في جافاسكربت. ```js diff --git a/courses/comments.md b/courses/comments.md index 874602a..cea7d2f 100644 --- a/courses/comments.md +++ b/courses/comments.md @@ -4,20 +4,20 @@ snippet: تعد التعليقات طريقة رائعة لترك ملاحظات order: 2 --- -التعليقات عبارة عن أسطر من التعليمات البرمجية التي ستتجاهلها JavaScript عمدًا. -تعد التعليقات طريقة رائعة لترك ملاحظات لنفسك وللأشخاص الآخرين الذين سيحتاجون -لاحقًا إلى معرفة ما تفعله هذه التعليمات البرمجية. +التعليقات عبارة عن أسطر من التعليمات البرمجية التي ستتجاهلها جافاسكربت عمدًا. تعد +التعليقات طريقة رائعة لترك ملاحظات لنفسك وللأشخاص الآخرين الذين سيحتاجون لاحقًا +إلى معرفة ما تفعله هذه التعليمات البرمجية. -هناك طريقتان لكتابة التعليقات في JavaScript. +هناك طريقتان لكتابة التعليقات في جافاسكربت. -سيؤدي استخدام `//` إلى مطالبة JavaScript بتجاهل بقية النص الموجود في السطر +سيؤدي استخدام (`//`) إلى مطالبة جافاسكربت بتجاهل بقية النص الموجود في السطر الحالي: ```js // هذا تعليق ``` -يمكنك كتابة تعليق متعدد الأسطر يبدأ بـ `/* وينتهي بـ */.` هذا تعليق متعدد +يمكنك كتابة تعليق متعدد الأسطر يبدأ بـ (`/* وينتهي بـ */.`) هذا تعليق متعدد الأسطر: ```js diff --git a/courses/compound-operators.md b/courses/compound-operators.md index f05becd..284dcde 100644 --- a/courses/compound-operators.md +++ b/courses/compound-operators.md @@ -5,8 +5,8 @@ order: 5 --- في عالم البرمجة، تُستخدم المشغلات او العوامل او المهام لأداء العمليات على -البيانات. تأتي المشغلات بأنواع متعددة، كما ذكرنا في دروس سابقا مثل `*`, `-`, `=` -وغيرها الكثير ذكرنا في دروس وغيرها لم نذكرها بعد. +البيانات. تأتي المشغلات بأنواع متعددة، كما ذكرنا في دروس سابقا مثل (`*`), (`-`), +(`=`) وغيرها الكثير ذكرنا في دروس وغيرها لم نذكرها بعد. سنتعرف في الدرس هذا على العوامل المركبه. @@ -22,7 +22,7 @@ console.log(myVar); // 10 لإضافة `5` إلى `myVar`. وبما أن هذا النمط شائع، فهناك عوامل تقوم بإجراء عملية رياضية وتعيين في خطوة واحدة. -أحد هذه العوامل هو عامل التشغيل `=+`. +أحد هذه العوامل هو عامل التشغيل (`=+`). ```js let myVar = 1; @@ -30,24 +30,24 @@ myVar += 5; console.log(myVar); // 6 ``` -مثل عامل التشغيل `=+`، `=-` يطرح رقمًا من متغير. +مثل عامل التشغيل (`=+`)، (`=-`) يطرح رقمًا من متغير. ```js myVar -= 5; ``` -وايضا، عامل التشغيل `*=` يضرب من متغير. +وايضا، عامل التشغيل (`*=`) يضرب من متغير. ```js myVar *= 5; ``` -وختاما، عامل التشغيل `/=` يقسم من متغير. +وختاما، عامل التشغيل (`/=`) يقسم من متغير. ```js myVar /= 5; ```
-قم بإنشاء متغير يسمى myVar واجعل قيمته 5. ثم استخدم عامل التشغيل =+ لإضافة 10 إلى myVar. +قم بإنشاء متغير يسمى myVar واجعل قيمته 5. ثم استخدم عامل التشغيل (=+) لإضافة 10 إلى myVar.
diff --git a/courses/functions/assignment-returned.md b/courses/functions/assignment-returned.md index ea84fa7..fe8fbca 100644 --- a/courses/functions/assignment-returned.md +++ b/courses/functions/assignment-returned.md @@ -14,8 +14,8 @@ order: 6 ourSum = sum(5, 12); ``` -يؤدي استدعاء الدالة `sum` باستخدام الوسيطتين `5` و`12` إلى الحصول على قيمة إرجاع -تبلغ `17`. ويتم تعيين قيمة الإرجاع هذه إلى متغير `ourSum`. +يؤدي استدعاء الدالة `sum` باستخدام الوسيطتين `5` و `12` إلى الحصول على قيمة +إرجاع تبلغ `17`. ويتم تعيين قيمة الإرجاع هذه إلى متغير `ourSum`.
نعتذر عن عدم وجود اختبار لهذا الدرس حالياً. نحن نعمل بجد لإعداد اختبارات لجميع الدروس وسنقوم بتوفيرها في أقرب وقت ممكن. diff --git a/courses/functions/global-scope.md b/courses/functions/global-scope.md index 7787c2f..91cad01 100644 --- a/courses/functions/global-scope.md +++ b/courses/functions/global-scope.md @@ -1,12 +1,12 @@ --- title: النطاق العالمي والدوال -snippet: في JavaScript، يشير النطاق إلى رؤية المتغيرات +snippet: في جافاسكربت يشير النطاق إلى رؤية المتغيرات order: 2 --- -في JavaScript، يشير النطاق إلى رؤية المتغيرات. المتغيرات التي تم تعريفها خارج -كتلة الوظيفة لها نطاق عالمي. وهذا يعني أنه يمكن رؤيتها في كل مكان في كود -JavaScript الخاص بك. +في جافاسكربت يشير النطاق إلى رؤية المتغيرات. المتغيرات التي تم تعريفها خارج كتلة +الوظيفة لها نطاق عالمي. وهذا يعني أنه يمكن رؤيتها في كل مكان في كود جافاسكربت +الخاص بك. يتم إنشاء المتغيرات التي تم الإعلان عنها بدون الكلمات الأساسية Let أو const تلقائيًا في النطاق العام. يمكن أن يؤدي هذا إلى عواقب غير مقصودة في مكان آخر من diff --git a/courses/functions/intro.md b/courses/functions/intro.md index 2ab18e4..96cd1ec 100644 --- a/courses/functions/intro.md +++ b/courses/functions/intro.md @@ -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 @@ -77,7 +77,7 @@ const answer = plusThree(5); `answer` له القيمة `8`. -يأخذ `plusThree` وسيطة لـ `num` ويعيد قيمة تساوي `num + 3`. +يأخذ `plusThree` وسيطة إلى `num` ويعيد قيمة تساوي `num + 3`.
قم بكتابة دالة اسمها area تأخذ وسيطتين width و height وترجع مساحة المستطيل diff --git a/courses/if-statements/bool-if-statements.md b/courses/if-statements/bool-if-statements.md index f3b578e..024c5fa 100644 --- a/courses/if-statements/bool-if-statements.md +++ b/courses/if-statements/bool-if-statements.md @@ -6,7 +6,7 @@ order: 1 يتم استخدام الجمل الشرطية لاتخاذ قرارات. -الكلمة الأساسية `if` تطلب من JavaScript تنفيذ التعليمات البرمجية في الأقواس +الكلمة الأساسية `if` تطلب من جافاسكربت تنفيذ التعليمات البرمجية في الأقواس المتعرجة وفقًا لشروط معينة، محددة بين الأقواس. تُعرف هذه الشروط بالشروط المنطقية وقد تكون صحيحة أو خاطئة فقط. diff --git a/courses/if-statements/chaining-if-else.md b/courses/if-statements/chaining-if-else.md index c262a49..9d1d83d 100644 --- a/courses/if-statements/chaining-if-else.md +++ b/courses/if-statements/chaining-if-else.md @@ -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 ```
diff --git a/courses/if-statements/comparison-with-equality-operator.md b/courses/if-statements/comparison-with-equality-operator.md index b16f7fe..8d63fee 100644 --- a/courses/if-statements/comparison-with-equality-operator.md +++ b/courses/if-statements/comparison-with-equality-operator.md @@ -4,14 +4,14 @@ snippet: يقارن عامل المساواة بين قيمتين order: 2 --- -هناك العديد من عوامل المقارنة في JavaScript. تقوم جميع عوامل التشغيل هذه بإرجاع +هناك العديد من عوامل المقارنة في جافاسكربت. تقوم جميع عوامل التشغيل هذه بإرجاع قيمة منطقية صحيحة أو خاطئة. -العامل الأساسي هو عامل المساواة `==`. يقارن عامل المساواة بين قيمتين ويعيد صحيحًا -إذا كانتا متكافئتين أو خطأ إذا لم يكونا كذلك. +العامل الأساسي هو عامل المساواة (`==`). يقارن عامل المساواة بين قيمتين ويعيد +صحيحًا إذا كانتا متكافئتين أو خطأ إذا لم يكونا كذلك. -لاحظ أن المساواة تختلف عن التعيين =، الذي يسند القيمة الموجودة على يمين العامل إلى متغير على اليسار. +لاحظ أن المساواة تختلف عن التعيين (=)، الذي يسند القيمة الموجودة على يمين العامل إلى متغير على اليسار. مثال: @@ -27,12 +27,12 @@ function equalityTest(myVal) { إذا كانت قيمة `myVal` تساوي `10`، فسيُرجع عامل المساواة القيمة `true`، وبالتالي سيتم تنفيذ التعليمات البرمجية الموجودة بين الأقواس المتعرجة، وستُرجع الدالة -`يساوي`. وبخلاف ذلك، سترجع الدالة `لا يساوي`. لكي تتمكن JavaScript من مقارنة +`يساوي`. وبخلاف ذلك، سترجع الدالة `لا يساوي`. لكي تتمكن جافاسكربت من مقارنة نوعين مختلفين من البيانات (على سبيل المثال، الأرقام والسلاسل)، يجب عليها تحويل نوع واحد إلى آخر. يُعرف هذا باسم نوع الإكراه. ومع ذلك، بمجرد القيام بذلك، يمكنه مقارنة المصطلحات على النحو التالي: -لكي تتمكن JavaScript من مقارنة نوعين مختلفين من البيانات (على سبيل المثال، +لكي تتمكن جافاسكربت من مقارنة نوعين مختلفين من البيانات (على سبيل المثال، الأرقام والسلاسل)، يجب عليها تحويل نوع واحد إلى آخر. يُعرف هذا باسم نوع الإكراه. ومع ذلك، بمجرد القيام بذلك، يمكنه مقارنة المصطلحات على النحو التالي: @@ -47,8 +47,8 @@ function equalityTest(myVal) { ## عامل عدم المساواة -عامل عدم المساواة `=!` هو عكس عامل المساواة. وهذا يعني يعني ليس متساويا حيث تُرجع -خطأ عندما يكون الناتج صحيح في عامل المساواة والعكس صحيح. مثل عامل المساواة، +عامل عدم المساواة (`=!`) هو عكس عامل المساواة. وهذا يعني يعني ليس متساويا حيث +تُرجع خطأ عندما يكون الناتج صحيح في عامل المساواة والعكس صحيح. مثل عامل المساواة، سيقوم عامل عدم المساواة بتحويل أنواع البيانات من القيم أثناء المقارنة. امثله على عامل عدم المساواة: diff --git a/courses/if-statements/comparison-with-strict-equality-operator.md b/courses/if-statements/comparison-with-strict-equality-operator.md index b7cc1d8..115a37e 100644 --- a/courses/if-statements/comparison-with-strict-equality-operator.md +++ b/courses/if-statements/comparison-with-strict-equality-operator.md @@ -4,7 +4,7 @@ snippet: لا يقوم عامل المساواة الصارم بإجراء تح order: 3 --- -المساواة الصارمة `===` هي النظير لعامل المساواة `==`. ومع ذلك، على عكس عامل +المساواة الصارمة (`===`) هي النظير لعامل المساواة (`==`). ومع ذلك، على عكس عامل المساواة، الذي يحاول تحويل كلتا القيمتين ( الاكراه )، لا يقوم عامل المساواة الصارم بإجراء تحويل النوع. @@ -16,14 +16,14 @@ order: 3 3 === "3"; // false ``` -في المثال الثاني، 3 هو نوع رقم و'3' هو نوع سلسلة. وانتجت `false`بسبب عامل +في المثال الثاني، `3` هو نوع رقم و `'3'` هو نوع سلسلة. وانتجت `false` بسبب عامل المساواة الصارم. ## عامل عدم المساواة الصارمة -عامل عدم المساواة الصارمة الصارمة `!==` هو العكس المنطقي لعامل المساواة الصارمة. -إنه يعني "غير متساوٍ تمامًا" ويُرجع خطأ حيث تُرجع المساواة الصارمة صحيحًا والعكس -صحيح. لن يقوم عامل عدم المساواة الصارم بتحويل أنواع البيانات. +عامل عدم المساواة الصارمة الصارمة (`!==`) هو العكس المنطقي لعامل المساواة +الصارمة. إنه يعني "غير متساوٍ تمامًا" ويُرجع خطأ حيث تُرجع المساواة الصارمة صحيحًا +والعكس صحيح. لن يقوم عامل عدم المساواة الصارم بتحويل أنواع البيانات. ```js 3 !== 3; // false diff --git a/courses/if-statements/logical-operators.md b/courses/if-statements/logical-operators.md index 12a1aa6..d45166d 100644 --- a/courses/if-statements/logical-operators.md +++ b/courses/if-statements/logical-operators.md @@ -4,14 +4,15 @@ snippet: العوامل المنطقية || و && order: 5 --- -العوامل المنطقية `||` (أو) تُستخدم للتحقق مما إذا كان أحد المدخلات صحيحًا، بينما -`&&` (و) تُستخدم للتحقق مما إذا كانت كل المدخلات صحيحة. تُستخدم في بناء الشروط في -البرمجة. +العوامل المنطقية (`||`) (أو) تُستخدم للتحقق مما إذا كان أحد المدخلات صحيحًا، بينما +(`&&`) (و) تُستخدم للتحقق مما إذا كانت كل المدخلات صحيحة. تُستخدم في بناء الشروط +في البرمجة. -## مقارنات مع المشغل `و` المنطقي +## مقارنات مع المشغل (`و`) المنطقي في بعض الأحيان سوف تحتاج إلى اختبار أكثر من شيء واحد في وقت واحد. يُرجع العامل -المنطقي (&&) صحيحًا إذا وفقط إذا كانت المعاملات الموجودة على يساره ويمينه صحيحة. +المنطقي (`&&`) صحيحًا إذا وفقط إذا كانت المعاملات الموجودة على يساره ويمينه +صحيحة. ويمكن تحقيق نفس التأثير من خلال تداخل عبارة الجمل الشرطية داخل عبارة جمله شرطية أخرى. @@ -26,7 +27,7 @@ return "No"; ``` سيُرجع هذا الرمز نعم إذا كان الرقم أكبر من `5` وأقل من `10`. ويمكن كتابة نفس -المنطق باستخدام العامل المنطقي `و`. +المنطق باستخدام العامل المنطقي (`و`). ```js if (num > 5 && num < 10) { @@ -35,13 +36,13 @@ if (num > 5 && num < 10) { return "No"; ``` -## مقارنات مع المشغل `او` المنطقي +## مقارنات مع المشغل (`او`) المنطقي -يُرجع العامل المنطقي أو العامل `||` صحيحًا إذا كان أي من المعاملين صحيحًا. وإلا +يُرجع العامل المنطقي أو العامل (`||`) صحيحًا إذا كان أي من المعاملين صحيحًا. وإلا فإنها ترجع كاذبة. -يتكون العامل المنطقي أو العامل من رمزين أنبوبيين: `||`. يمكن العثور على هذا عادةً -بين مفتاحي `Backspace` و `Enter`. +يتكون العامل المنطقي أو العامل من رمزين أنبوبيين: (`||`). يمكن العثور على هذا +عادةً بين مفتاحي `Backspace` و `Enter`. ```js if (num > 10) { @@ -54,7 +55,7 @@ return "نعم"; ``` سيُرجع هذا الرمز نعم إذا كان الرقم بين 5 و 10. يمكن كتابة نفس المنطق باستخدام -العامل المنطقي `أو`. +العامل المنطقي (`أو`). ```js if (num > 10 || num < 5) { diff --git a/courses/if-statements/logical-order-in-if-else-statements.md b/courses/if-statements/logical-order-in-if-else-statements.md index 255ca95..0e8b0a3 100644 --- a/courses/if-statements/logical-order-in-if-else-statements.md +++ b/courses/if-statements/logical-order-in-if-else-statements.md @@ -12,11 +12,11 @@ order: 7 ```js function foo(x) { if (x < 1) { - return "Less than one"; + return "أقل من واحد"; } else if (x < 2) { - return "Less than two"; + return "أقل من اثنين"; } else { - return "Greater than or equal to two"; + return "أكبر من أو يساوي اثنين"; } } ``` @@ -24,11 +24,11 @@ function foo(x) { ```js function bar(x) { if (x < 2) { - return "Less than two"; + return "أقل من اثنين"; } else if (x < 1) { - return "Less than one"; + return "أقل من واحد"; } else { - return "Greater than or equal to two"; + return "أكبر من أو يساوي اثنين"; } } ``` @@ -41,8 +41,7 @@ foo(0); bar(0); ``` -سوف يقوم `foo(0)` بإرجاع `Less than one`، وسيقوم `bar(0)` بإرجاع -`Less than two`. +سوف يقوم `foo(0)` بإرجاع `أقل من واحد`، وسيقوم `bar(0)` بإرجاع `أقل من اثنين`.
نعتذر عن عدم وجود اختبار لهذا الدرس حالياً. نحن نعمل بجد لإعداد اختبارات لجميع الدروس وسنقوم بتوفيرها في أقرب وقت ممكن. diff --git a/courses/if-statements/relational-operators.md b/courses/if-statements/relational-operators.md index 84c8047..e15a7f6 100644 --- a/courses/if-statements/relational-operators.md +++ b/courses/if-statements/relational-operators.md @@ -5,15 +5,15 @@ order: 4 --- العوامل العلاقية في برمجة الحاسوب هي عبارة عن مجموعة من العلامات التي تستخدم -لمقارنة القيم وتحديد العلاقات بينها. تشمل هذه العوامل العلامات التالية: `>` -(أكبر من)، `<` (أصغر من)، `>=` (أكبر من أو يساوي)، و `<=` (أصغر من أو يساوي). -تُستخدم هذه العوامل بشكل شائع في كتابة الشروط واتخاذ القرارات في البرامج، حيث يتم -تقييم العبارات المحيطة بها لإنتاج قيمة منطقية صحيحة أو خاطئة، مما يمكن من تحكم -فعال في تدفق التنفيذ في البرنامج. +لمقارنة القيم وتحديد العلاقات بينها. تشمل هذه العوامل العلامات التالية: (`>`) +(أكبر من)، (`<`) (أصغر من)، (`>=`) (أكبر من أو يساوي)، و (`<=`) (أصغر من أو +يساوي). تُستخدم هذه العوامل بشكل شائع في كتابة الشروط واتخاذ القرارات في البرامج، +حيث يتم تقييم العبارات المحيطة بها لإنتاج قيمة منطقية صحيحة أو خاطئة، مما يمكن +من تحكم فعال في تدفق التنفيذ في البرنامج. ## مقارنة مع أكبر من -عامل التشغيل أكبر من `>` يقارن بين قيم رقمين. إذا كان الرقم الموجود على اليسار +عامل التشغيل أكبر من (`>`) يقارن بين قيم رقمين. إذا كان الرقم الموجود على اليسار أكبر من الرقم الموجود على اليمين، فسيتم إرجاعه صحيحًا. وإلا فإنها ترجع خطأ. ```js @@ -25,7 +25,7 @@ order: 4 ## مقارنة مع أكبر من أو يساوي -عامل التشغيل أكبر من أو يساوي `>=` يقارن بين قيم رقمين. إذا كان الرقم الموجود +عامل التشغيل أكبر من أو يساوي (`>=`) يقارن بين قيم رقمين. إذا كان الرقم الموجود على اليسار أكبر من أو يساوي الرقم الموجود على اليمين، فسيتم إرجاعه صحيحًا. وإلا فإنها ترجع خطأ. @@ -38,7 +38,7 @@ order: 4 ## مقارنة مع أقل من -يقارن عامل التشغيل أقل من `<` بين قيم رقمين. إذا كان الرقم الموجود على اليسار +يقارن عامل التشغيل أقل من (`<`) بين قيم رقمين. إذا كان الرقم الموجود على اليسار أقل من الرقم الموجود على اليمين، فسيتم إرجاعه صحيحًا. وإلا فإنها ترجع خطأ. مثل عامل المساواة، يقوم عامل التشغيل أقل من بتحويل أنواع البيانات أثناء المقارنة. @@ -52,7 +52,7 @@ order: 4 ## مقارنة مع أقل من أو يساوي -العامل الأصغر من أو يساوي `<=` يقارن بين قيم رقمين. إذا كان الرقم الموجود على +العامل الأصغر من أو يساوي (`<=`) يقارن بين قيم رقمين. إذا كان الرقم الموجود على اليسار أقل من أو يساوي الرقم الموجود على اليمين، فسيتم إرجاعه صحيحًا. إذا كان الرقم الموجود على اليسار أكبر من الرقم الموجود على اليمين، فسيتم إرجاع خطأ. كما هو الحال مع عامل المساواة، يقوم عامل التشغيل الأقل من أو يساوي بتحويل أنواع diff --git a/courses/loops/count-backwards-with-a-for-loop.md b/courses/loops/count-backwards-with-a-for-loop.md index 63ae3b3..f0bfa3b 100644 --- a/courses/loops/count-backwards-with-a-for-loop.md +++ b/courses/loops/count-backwards-with-a-for-loop.md @@ -22,7 +22,7 @@ for (let i = 10; i > 0; i -= 2) { console.log(ourArray); ``` -سيحتوي `ourArray` الآن على [10، 8، 6، 4، 2]. +سيحتوي `ourArray` الآن على `[10، 8، 6، 4، 2]`.
نعتذر عن عدم وجود اختبار لهذا الدرس حالياً. نحن نعمل بجد لإعداد اختبارات لجميع الدروس وسنقوم بتوفيرها في أقرب وقت ممكن. diff --git a/courses/loops/iterate-using-for-loops.md b/courses/loops/iterate-using-for-loops.md index 5e98dd2..3a535ad 100644 --- a/courses/loops/iterate-using-for-loops.md +++ b/courses/loops/iterate-using-for-loops.md @@ -38,7 +38,7 @@ for (let i = 0; i < 5; i++) { console.log(ourArray); ``` -سيكون لـ `ourArray` الآن القيمة [0, 1, 2, 3, 4]. +سيكون إلى `ourArray` الآن القيمة `[0, 1, 2, 3, 4]`. ## تكرار الأرقام الزوجية باستخدام حلقة ( for ) @@ -58,7 +58,7 @@ for (let i = 0; i < 10; i += 2) { console.log(ourArray); ``` -سيحتوي `ourArray` الآن على [0، 2، 4، 6، 8]. +سيحتوي `ourArray` الآن على `[0، 2، 4، 6، 8]`.
diff --git a/courses/numbers/decimals.md b/courses/numbers/decimals.md index 1230413..c8428e0 100644 --- a/courses/numbers/decimals.md +++ b/courses/numbers/decimals.md @@ -11,8 +11,8 @@ order: 2 const ourDecimal = 5.7; // رقم عشري ``` -في JavaScript، يمكنك أيضًا إجراء عمليات حسابية باستخدام الأعداد العشرية، تمامًا -مثل الأعداد الصحيحة. +في جافاسكربت، يمكنك أيضًا إجراء عمليات حسابية باستخدام الأعداد العشرية، تمامًا مثل +الأعداد الصحيحة. دعونا نقوم بإجراء عمليات حسابية باستخدام عددين عشريين معًا. @@ -25,7 +25,7 @@ console.log(div); // 0.5 ```
-1. اكتب كود JavaScript يخزّن الرقم العشري 3.14 في متغير يسمّى myDecimal.
-2. ثم اكتب كودًا يضرب myDecimal في 4 ويخزّن النتيجة في متغير يسمّى product.
-3. اطبع قيمة product إلى وحدة التحكم.
+1. اكتب كود جافاسكربت يخزّن الرقم العشري 3.14 في متغير يسمّى myDecimal.
+2. ثم اكتب كودًا يضرب myDecimal في 4 ويخزّن النتيجة في متغير يسمّى product.
+3. اطبع قيمةproduct إلى وحدة التحكم.
diff --git a/courses/numbers/intro.md b/courses/numbers/intro.md index eb8c880..a99a973 100644 --- a/courses/numbers/intro.md +++ b/courses/numbers/intro.md @@ -1,15 +1,15 @@ --- title: الأرقام والتعامل معها -snippet: هو نوع بيانات في JavaScript يمثل بيانات رقمية +snippet: هو نوع بيانات في جافاسكربت يمثل بيانات رقمية order: 1 --- -[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number) -هو نوع بيانات في JavaScript يمثل بيانات رقمية. +[(Number)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number) +هو نوع بيانات في جافاسكربت يمثل بيانات رقمية. ## الجمع -الآن لنحاول إضافة رقمين باستخدام JavaScript. تستخدم JavaScript الرمز `+` كعامل +الآن لنحاول إضافة رقمين باستخدام جافاسكربت. تستخدم جافاسكربت الرمز (`+`) كعامل إضافة عند وضعه بين رقمين. ```js @@ -20,27 +20,27 @@ const someNumber = 5 + 10; ## الطرح -يمكننا أيضًا طرح رقم من رقم آخر. تستخدم JavaScript الرمز `-` للطرح. +يمكننا أيضًا طرح رقم من رقم آخر. تستخدم جافاسكربت الرمز (`-`) للطرح. ```js const someNumber = 12 - 6; ``` -سيكون لـ `someNumber` القيمة `6`. +سيكون إلى `someNumber` القيمة `6`. ## الضرب -يمكننا أيضًا ضرب رقم في آخر. تستخدم JavaScript الرمز `*` لضرب رقمين. +يمكننا أيضًا ضرب رقم في آخر. تستخدم جافاسكربت الرمز (`*`) لضرب رقمين. ```js const someNumber = 13 * 13; ``` -سيكون لـ `someNumber` القيمة `169`. +سيكون إلى `someNumber` القيمة `169`. ## القسمه -يمكننا أيضًا قسمة رقم على آخر. تستخدم JavaScript الرمز `/` للتقسيم. +يمكننا أيضًا قسمة رقم على آخر. تستخدم جافاسكربت الرمز (`/`) للتقسيم. يمكنك بسهولة زيادة أو إضافة واحد إلى متغير باستخدام عامل التشغيل `++`. @@ -48,11 +48,11 @@ const someNumber = 13 * 13; const someNumber = 16 / 2; ``` -سيكون لـ `someNumber` القيمة `8`. +سيكون إلى `someNumber` القيمة `8`. ## عامل الباقي -عامل الباقي `%` يعطي باقي قسمة رقمين. +عامل الباقي (`%`) يعطي باقي قسمة رقمين. في الرياضيات، يمكن التحقق من أن الرقم زوجي أو فردي عن طريق التحقق من باقي قسمة الرقم على 2. الأعداد الزوجية لها باقي 0، بينما الأرقام الفردية لها باقي 1. @@ -64,26 +64,26 @@ console.log(48 % 2); // 0 ## زيادة أو إنقاص رقم -يمكنك بسهولة زيادة أو إضافة واحد إلى متغير باستخدام عامل التشغيل `++`. +يمكنك بسهولة زيادة أو إضافة واحد إلى متغير باستخدام عامل التشغيل (`++`). ```js let i = 0; i++; // اصبح i = 1 -// i++ مساوي تماما الى ( i = i + 1 ); +// i++ مساوي تماما إلى ( i = i + 1 ); ``` -يمكنك بسهولة إنقاص أو تقليل متغير بمقدار واحد باستخدام عامل التشغيل `--`. +يمكنك بسهولة إنقاص أو تقليل متغير بمقدار واحد باستخدام عامل التشغيل (`--`). ```js let i = 0; i--; // اصبح i = -1 -// i-- مساوي تماما الى ( i = i - 1; ); +// i-- مساوي تماما إلى ( i = i - 1; ); ```
1- قم بحساب مساحة مستطيل بطول 5 وعرض 10.
-2- يجب عليك أن تخزن الطول في متغير `length` والعرض في متغير `width` ونتيجة الضرب في متغير `area`.
+2- يجب عليك أن تخزن الطول في متغير length والعرض في متغير width ونتيجة الضرب في متغير area.
3- يجب أن تطبع النتيجة في الكونسول.
diff --git a/courses/objects/intro.md b/courses/objects/intro.md index 3ade7c2..b59327c 100644 --- a/courses/objects/intro.md +++ b/courses/objects/intro.md @@ -37,7 +37,7 @@ const anotherObject = { ``` ومع ذلك، إذا كان الكائن الخاص بك يحتوي على أي خصائص غير سلسلة، فسوف تقوم -JavaScript تلقائيًا بكتابتها كسلاسل. +جافاسكربت تلقائيًا بكتابتها كسلاسل.
نعتذر عن عدم وجود اختبار لهذا الدرس حالياً. نحن نعمل بجد لإعداد اختبارات لجميع الدروس وسنقوم بتوفيرها في أقرب وقت ممكن. diff --git a/courses/objects/manipulating-complex-objects.md b/courses/objects/manipulating-complex-objects.md index f58c77f..6280604 100644 --- a/courses/objects/manipulating-complex-objects.md +++ b/courses/objects/manipulating-complex-objects.md @@ -4,9 +4,9 @@ snippet: في بعض الأحيان قد ترغب في تخزين البيانا order: 7 --- -في بعض الأحيان قد ترغب في تخزين البيانات في بنية بيانات مرنة. يعد كائن -JavaScript إحدى طرق التعامل مع البيانات المرنة. حيث يسمح بمجموعات من السلاسل -والأرقام والقيم المنطقية والمصفوفات والدوال والكائنات داخل الكأن نفسه. +في بعض الأحيان قد ترغب في تخزين البيانات في بنية بيانات مرنة. يعد كائن جافاسكربت +إحدى طرق التعامل مع البيانات المرنة. حيث يسمح بمجموعات من السلاسل والأرقام +والقيم المنطقية والمصفوفات والدوال والكائنات داخل الكأن نفسه. فيما يلي مثال على بنية بيانات معقدة: diff --git a/courses/objects/updating-object-properties.md b/courses/objects/updating-object-properties.md index d522c10..0ff6a23 100644 --- a/courses/objects/updating-object-properties.md +++ b/courses/objects/updating-object-properties.md @@ -6,7 +6,7 @@ order: 4 ## تحديث خصائص الكائن -بعد إنشاء كائن JavaScript، يمكنك تحديث خصائصه في أي وقت تمامًا كما تفعل مع أي +بعد إنشاء كائن جافاسكربت، يمكنك تحديث خصائصه في أي وقت تمامًا كما تفعل مع أي متغير آخر. يمكنك استخدام تدوين النقطة أو القوس للتحديث. على سبيل المثال، دعونا ننظر إلى المثال: @@ -34,8 +34,8 @@ ourDog["name"] = "Buddy"; ## اضافة خصائص جديدة للكائن -يمكنك إضافة خصائص جديدة إلى كائنات JavaScript الموجودة بنفس الطريقة التي تقوم -بها بتعديلها. +يمكنك إضافة خصائص جديدة إلى كائنات جافاسكربت الموجودة بنفس الطريقة التي تقوم بها +بتعديلها. إليك كيفية إضافة خاصية `bark` إلى `ourDog`: diff --git a/courses/returning-boolean-values-from-functions.md b/courses/returning-boolean-values-from-functions.md index 5215696..f225fc7 100644 --- a/courses/returning-boolean-values-from-functions.md +++ b/courses/returning-boolean-values-from-functions.md @@ -19,7 +19,7 @@ function isEqual(a, b) { } ``` -ولكن هناك طريقة أفضل للقيام بذلك. بما أن `===` تُرجع `true` أو `false`، فيمكننا +ولكن هناك طريقة أفضل للقيام بذلك. بما أن (`===`) تُرجع `true` أو `false`، فيمكننا إرجاع نتيجة المقارنة: ```js diff --git a/courses/strings/bracket-examples.md b/courses/strings/bracket-examples.md index f4f7151..615aeac 100644 --- a/courses/strings/bracket-examples.md +++ b/courses/strings/bracket-examples.md @@ -12,25 +12,27 @@ order: 6 الحرف الصفري. ```js -const firstName = "Ada"; +const firstName = "Adam"; const secondLetterOfFirstName = firstName[1]; +console.log(secondLetterOfFirstName); ``` -سيكون لـ `SecondLetterOfFirstName` قيمة السلسلة `d`. +سيكون إلى `SecondLetterOfFirstName` قيمة السلسلة `d`. ## استخدم الأقواس للعثور على الحرف الأخير في سلسلة للحصول على الحرف الأخير من السلسلة، يمكنك طرح حرف واحد من طول السلسلة. -على سبيل المثال، إذا كان `const firstName = "Ada"`، فيمكنك الحصول على قيمة الحرف +على سبيل المثال، إذا كان `"const firstName = "Ada`، فيمكنك الحصول على قيمة الحرف الأخير من السلسلة باستخدام `firstName[firstName.length - 1]`. ```js -const firstName = "Ada"; +const firstName = "Adam"; const lastLetter = firstName[firstName.length - 1]; +console.log(lastLetter); ``` -`lastLetter` سيكون له قيمة السلسلة `a`. +`lastLetter` سيكون له قيمة السلسلة `m`.
-قم بطباعة الحرف الثالث من الأخير في السلسلة `Augusta`. +قم بطباعة الحرف الثالث من الأخير في السلسلة Augusta.
diff --git a/courses/strings/concatenating-strings.md b/courses/strings/concatenating-strings.md index d837535..1470b59 100644 --- a/courses/strings/concatenating-strings.md +++ b/courses/strings/concatenating-strings.md @@ -1,10 +1,10 @@ --- title: سلاسل مترابطة -snippet: في JavaScript عندما يتم استخدام عامل التشغيل + مع قيمة سلسلة +snippet: في جافاسكربت عندما يتم استخدام عامل التشغيل + مع قيمة سلسلة order: 2 --- -في JavaScript، عندما يتم استخدام عامل التشغيل + مع قيمة سلسلة، فإنه يُسمى +في جافاسكربت، عندما يتم استخدام عامل التشغيل (`+`) مع قيمة سلسلة، فإنه يُسمى `concatenation operator`. يمكنك إنشاء سلسلة جديدة من سلاسل أخرى عن طريق ربطها معًا. @@ -19,7 +19,7 @@ console.log(x); انتبه للمسافات. لا يضيف الترابط مسافات بين السلاسل، لذا ستحتاج إلى إضافتها بنفسك. -يمكننا أيضًا استخدام عامل التشغيل `=+` لربط سلسلة في نهاية متغير سلسلة موجود. +يمكننا أيضًا استخدام عامل التشغيل (`=+`) لربط سلسلة في نهاية متغير سلسلة موجود. يمكن أن يكون هذا مفيدًا جدًا لقطع سلسلة طويلة على عدة أسطر مثل المثال الأتي: ```js @@ -31,20 +31,20 @@ y += "I come second."; ## بناء سلاسل مع المتغيرات -في بعض الأحيان سوف تحتاج إلى بناء سلسلة. باستخدام عامل التسلسل `+`، يمكنك إدراج -متغير واحد أو أكثر في السلسلة التي تقوم بإنشائها. +في بعض الأحيان سوف تحتاج إلى بناء سلسلة. باستخدام عامل التسلسل (`+`)، يمكنك +إدراج متغير واحد أو أكثر في السلسلة التي تقوم بإنشائها. ```js const myName = "Yazan"; const result = "Hello, my name is " + myName + ", how are you?"; ``` -سيكون `لـresult` قيمة السلسلة `?Hello, my name is Yazan, how are you` +سيكون إلى `result` قيمة السلسلة `?Hello, my name is Yazan, how are you` ## إلحاق المتغيرات بالسلاسل مثلما يمكننا بناء سلسلة على عدة أسطر من سلسلة حرفية، يمكننا أيضًا إلحاق متغيرات -بسلسلة باستخدام عامل التشغيل زائد يساوي `=+`. +بسلسلة باستخدام عامل التشغيل زائد يساوي (`=+`). ```js const otherString = "نور"; @@ -52,8 +52,8 @@ let str = "العلم "; str += otherString; ``` -سيكون `لـstr` القيمة `العلم نور`. +سيكون إلى `str` القيمة `العلم نور`.
-قم بإنشاء متغير يحتوى على جمع السلاسل x و y باستخدام عامل التشغيل زائد يساوي =+. +قم بإنشاء متغير يحتوى على جمع السلاسل x و y باستخدام عامل التشغيل زائد يساوي (=+).
diff --git a/courses/strings/intro.md b/courses/strings/intro.md index a6df6aa..44cb6a2 100644 --- a/courses/strings/intro.md +++ b/courses/strings/intro.md @@ -1,21 +1,21 @@ --- title: السلاسل والتعامل معها -snippet: هو نوع بيانات في JavaScript يمثل نص من عدا حروف +snippet: هو نوع بيانات في جافاسكربت يمثل نص من عدا حروف order: 1 --- -[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) -هو نوع بيانات في JavaScript يمثل نص من عدا حروف. +[(String)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) +هو نوع بيانات في جافاسكربت يمثل نص من عدا حروف. ## كتابة السلسلة -يمكن كتابة قيم السلسلة في JavaScript بعلامات اقتباس مفردة أو مزدوجة، طالما أنك +يمكن كتابة قيم السلسلة في جافاسكربت بعلامات اقتباس مفردة أو مزدوجة، طالما أنك تبدأ وتنتهي بنفس نوع الاقتباس. على عكس بعض لغات البرمجة الأخرى، تعمل علامات -الاقتباس المفردة والمزدوجة بنفس الطريقة في JavaScript. +الاقتباس المفردة والمزدوجة بنفس الطريقة في جافاسكربت. ```js -const doubleQuoteStr = "This is a string"; -const singleQuoteStr = "This is also a string"; +const doubleQuote = "This is a string"; +const singleQuote = "This is also a string"; ``` السبب وراء رغبتك في استخدام نوع واحد من علامات الاقتباس على الآخر هو إذا كنت @@ -23,7 +23,7 @@ const singleQuoteStr = "This is also a string"; المحادثة بين علامتي اقتباس. ```js -const conversation = 'Finn exclaims to Jake, "Algebraic!"'; +const conversation = 'Ahmad exclaims to Adam, "Algebraic!"'; ``` ## التخطي ( Escaping ) @@ -31,18 +31,18 @@ const conversation = 'Finn exclaims to Jake, "Algebraic!"'; عندما تقوم بتعريف سلسلة، يجب أن تبدأ وتنتهي بعلامة اقتباس مفردة أو مزدوجة. ماذا يحدث عندما تحتاج إلى اقتباس حرفي: `"` أو `'` داخل السلسلة الخاصة بك؟ -في JavaScript، يمكنك تجنب اعتبار الاقتباس نهاية لاقتباس سلسلة عن طريق وضع شرطة +في جافاسكربت، يمكنك تجنب اعتبار الاقتباس نهاية لاقتباس سلسلة عن طريق وضع شرطة مائلة عكسية `\` أمام الاقتباس. ```js -const sampleStr = 'Alan said, "Peter is learning JavaScript".'; +const sampleStr = 'Adam said, "Yazan is learning JavaScript".'; ``` -يشير هذا إلى JavaScript أن الاقتباس المراد ليس نهاية السلسلة، ولكن يجب أن يظهر +يشير هذا إلى جافاسكربت أن الاقتباس المراد ليس نهاية السلسلة، ولكن يجب أن يظهر داخل السلسلة بدلاً من ذلك. لذا، إذا كنت تريد طباعة هذا على وحدة التحكم، فستحصل على: -`Alan said, "Peter is learning JavaScript".` +`Adam said, "Yazan is learning JavaScript".` لا ينبغي الخلط بين الشرطة المائلة العكسية \ والشرطة المائلة للأمام /. إنهم لا @@ -74,7 +74,7 @@ const sampleStr = "Hello\nWorld"; console.log(sampleStr); ``` -يشير هذا إلى JavaScript أن المراد سطر جديد `n\` .لذا، إذا كنت تريد طباعة هذا على +يشير هذا إلى جافاسكربت أن المراد سطر جديد `n\` .لذا، إذا كنت تريد طباعة هذا على وحدة التحكم، فستحصل على: ```js diff --git a/courses/strings/length.md b/courses/strings/length.md index f9b5752..ba4f4de 100644 --- a/courses/strings/length.md +++ b/courses/strings/length.md @@ -4,7 +4,7 @@ snippet: يمكنك العثور على طول قيمة السلسلة عن طر order: 3 --- -يمكنك العثور على طول قيمة السلسلة عن طريق كتابة .length بعد متغير السلسلة أو +يمكنك العثور على طول قيمة السلسلة عن طريق كتابة `.length` بعد متغير السلسلة أو السلسلة الحرفية. ```js @@ -12,15 +12,16 @@ const str = "Nakhlah JS"; console.log(str.length); ``` -سيتم عرض القيمة `10` في وحدة التحكم. لاحظ أن حرف المسافة بين `"Nakhlah"` و -`"JS"` يتم حسابه أيضًا. +سيتم عرض القيمة `10` في وحدة التحكم. لاحظ أن حرف المسافة بين `Nakhlah` و `JS` +يتم حسابه أيضًا.
ليس هناك اي اختبار لهذا الدرس.
-.length تعتبر خاصيه داخل كائن السلسلة +.length تعتبر خاصيه داخل كائن السلسلة -سنتعرف في دروس لاحقا عن الكائنات (Objects) وال خواص (Property). +سنتعرف في دروس لاحقا عن الكائنات (Objects) وال خواص +(Property). diff --git a/courses/strings/understand-immutability.md b/courses/strings/understand-immutability.md index 96e5b56..e18e13b 100644 --- a/courses/strings/understand-immutability.md +++ b/courses/strings/understand-immutability.md @@ -1,10 +1,10 @@ --- title: فهم ثبات السلسلة -snippet: في JavaScript تكون قيم السلسلة غير قابلة للتغيير +snippet: في جافاسكربت تكون قيم السلسلة غير قابلة للتغيير order: 5 --- -في JavaScript، تكون قيم السلسلة غير قابلة للتغيير +في جافاسكربت، تكون قيم السلسلة غير قابلة للتغيير ([Immutable](https://developer.mozilla.org/en-US/docs/Glossary/Immutable))، مما يعني أنه لا يمكن تغييرها بمجرد إنشائها. diff --git a/courses/strings/use-brackets.md b/courses/strings/use-brackets.md index 462b600..23fe616 100644 --- a/courses/strings/use-brackets.md +++ b/courses/strings/use-brackets.md @@ -6,7 +6,7 @@ order: 4 يعد تدوين القوس طريقة للحصول على حرف في فهرس معين داخل سلسلة. -معظم لغات البرمجة الحديثة، مثل JavaScript، لا تبدأ بالعد من الرقم 1 كما يفعل +معظم لغات البرمجة الحديثة، مثل جافاسكربت، لا تبدأ بالعد من الرقم 1 كما يفعل البشر. تبدأ عند 0. ويشار إلى ذلك بالفهرسة الصفرية. على سبيل المثال، الحرف الموجود في الفهرس 0 في الكلمة `Yazan` هو `Y`. إذا @@ -23,4 +23,4 @@ console.log(firstLetter);
قم بطباعة حرف r من المتغير country في وحدة التحكم. -
\ No newline at end of file +
diff --git a/courses/variables/case-sensitivity-in-variables.md b/courses/variables/case-sensitivity-in-variables.md index e517a61..ff9414c 100644 --- a/courses/variables/case-sensitivity-in-variables.md +++ b/courses/variables/case-sensitivity-in-variables.md @@ -1,10 +1,10 @@ --- title: فهم حساسية الحالة في المتغيرات -snippet: في JavaScript، جميع المتغيرات وأسماء الدوال حساسة لحالة الأحرف +snippet: في جافاسكربت، جميع المتغيرات وأسماء الدوال حساسة لحالة الأحرف order: 4 --- -في JavaScript، جميع المتغيرات حساسة لحالة الأحرف. وهذا يعني أن التسميه مهمة. +في جافاسكربت، جميع المتغيرات حساسة لحالة الأحرف. وهذا يعني أن التسميه مهمة. `MYVAR` ليس هو نفسه `MyVar` أو `myvar`. من الممكن أن يكون لديك عدة متغيرات مميزة بنفس الاسم ولكن بحالة مختلفة. يوصى بشدة بعدم استخدام ميزة اللغة هذه، من أجل @@ -12,11 +12,11 @@ order: 4 ## طريقة التسمية المفضلة -طريقه التسمية المفضلة في مجتمع JavaScript هي ال`camelCase` يمكنك التعرف عن -ال`camelCase`. عبر +طريقه التسمية المفضلة في مجتمع جافاسكربت هي ال (`camelCase`) يمكنك التعرف عن ال +(`camelCase`). عبر مستندات [MDN](https://developer.mozilla.org/en-US/docs/Glossary/Camel_case). -امثلة التسمية في ال`camelCase`: +امثلة التسمية في ال (`camelCase`): ```js var someVariable; diff --git a/courses/variables/console.md b/courses/variables/console.md index 7b11701..815c68b 100644 --- a/courses/variables/console.md +++ b/courses/variables/console.md @@ -4,7 +4,7 @@ snippet: طباعة معلومات أو نص على الشاشة order: 2 --- -إذا كنت ترغب في طباعة معلومات أو نص على الشاشة في JavaScript، يمكنك استخدام +إذا كنت ترغب في طباعة معلومات أو نص على الشاشة في جافاسكربت، يمكنك استخدام الدالة `()console.log` @@ -14,7 +14,7 @@ order: 2 تحدثنا في الدرس السابق عن المتغيرات إذا أردنا طباعة المتغير على الشاشة بلغة -JavaScript. يمكنك عبر المثال التالي: +جافاسكربت. يمكنك عبر المثال التالي: ```js var myName = "Yazan"; @@ -29,6 +29,6 @@ console.log(myName); 2. اضغط على اختبار
-يمكنك التعمق في المزيد عن الداله Object عبر -[MDN](https://developer.mozilla.org/en-US/docs/Web/API/console). سنتعمق قريبا في -الدوال في درس اخر +يمكنك التعرف على المزيد عن الكائن `console` في مستندات +[(MDN)](https://developer.mozilla.org/en-US/docs/Web/API/console). سنتعمق قريبا +في الدوال و الكئنات في درس اخر diff --git a/courses/variables/intro.md b/courses/variables/intro.md index 6c6d948..e85c698 100644 --- a/courses/variables/intro.md +++ b/courses/variables/intro.md @@ -4,7 +4,7 @@ snippet: البيانات هي أي شيء له معنى بالنسبة للكم order: 1 --- -في علوم الكمبيوتر، البيانات هي أي شيء له معنى بالنسبة للكمبيوتر. توفر JavaScript +في علوم الكمبيوتر، البيانات هي أي شيء له معنى بالنسبة للكمبيوتر. توفر جافاسكربت ثمانية أنواع مختلفة من البيانات: @@ -40,20 +40,20 @@ order: 1 ## انشاء متغير -نطلب من JavaScript إنشاء متغير أو الإعلان عنه عن طريق وضع الكلمة الأساسية `var` +نطلب من جافاسكربت إنشاء متغير أو الإعلان عنه عن طريق وضع الكلمة الأساسية `var` أمامه، كما يلي: ```js var myName; ``` -تقوم التعليمات التالية بإنشاء متغير يسمى `myName`. في JavaScript، ننهي البيانات -بفواصل منقوطة `;`. يمكن أن تتكون أسماء المتغيرات أن تتكون من أرقام وأحرف و$ أو +تقوم التعليمات التالية بإنشاء متغير يسمى `myName`. في جافاسكربت، ننهي البيانات +بفواصل منقوطة (`;`). يمكن أن تتكون أسماء المتغيرات أن تتكون من أرقام وأحرف و$ أو _، ولكن لا يجوز أن تحتوي على مسافات أو تبدأ برقم. ## تخزين القيم -في JavaScript، يمكنك تخزين قيمة في متغير باستخدام عامل التعيين `=`. +في جافاسكربت، يمكنك تخزين قيمة في متغير باستخدام عامل التعيين (`=`). ```js var myAge = 19; @@ -61,7 +61,7 @@ var myAge = 19; يؤدي هذا إلى تعيين قيمة الرقم `19` إلى `myAge`. -إذا كانت هناك أية حسابات على يمين عامل التشغيل `=`، فسيتم إجراؤها قبل تعيين +إذا كانت هناك أية حسابات على يمين عامل التشغيل (`=`)، فسيتم إجراؤها قبل تعيين القيمة للمتغير الموجود على يسار عامل التشغيل. ```js @@ -106,11 +106,11 @@ var myName = "Yazan"; من الشائع تهيئة متغير إلى قيمة أولية في نفس السطر الذي تم الإعلان عنه. `"Yazan"` يسمى سلسلة حرفية. السلسلة الحرفية، أو السلسلة، عبارة عن سلسلة من صفر -أو أكثر من الأحرف المحاطة بعلامات اقتباس مفردة `'` أو مزدوجة `"`. +أو أكثر من الأحرف المحاطة بعلامات اقتباس مفردة (`'`) أو مزدوجة (`"`).
قم بإنشاء متغير ما و جعل اسمك قيمته.
-يمكنك التعرف على المزيد عن (سلسلة, String) في -[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string). +يمكنك التعرف على المزيد عن (سلسلة, String) في مستندات +[(MDN)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string). diff --git a/courses/variables/the-var-let-const.md b/courses/variables/the-var-let-const.md index 9e62c47..77cdf7d 100644 --- a/courses/variables/the-var-let-const.md +++ b/courses/variables/the-var-let-const.md @@ -8,13 +8,13 @@ order: 5 يمكنك بسهولة استبدال إعلانات المتغيرات: ```js -var camper = "James"; -var camper = "David"; -console.log(camper); +var name = "Ahmad"; +var name = "Sara"; +console.log(name); ``` -في الكود أعلاه، تم تعريف متغير في الأصل باسم `James`، ثم تم تجاوزه ليكون -`David`. ثم تعرض وحدة التحكم السلسلة `David`. +في الكود أعلاه، تم تعريف متغير في الأصل باسم `Ahmad`، ثم تم تجاوزه ليكون `Sara`. +ثم تعرض وحدة التحكم السلسلة `Sara`. إذا كنت تستخدم تطبيقًا صغيرًا، فقد لا تواجه هذا النوع من المشكلات. ولكن عندما تصبح قاعدة التعليمات البرمجية الخاصة بك أكبر، قد تقوم عن طريق الخطأ بالكتابة فوق @@ -28,11 +28,11 @@ console.log(camper); ## التعمق في let ```js -let camper = "James"; -let camper = "David"; // حدوث خطأ +let name = "Ahmad"; +let name = "Sara"; // حدوث خطأ ``` -إذا قمت باستبدال `var` الى `let` بالتعليمات السابقه، فسيؤدي ذلك إلى حدوث خطأ +إذا قمت باستبدال `var` إلى `let` بالتعليمات السابقه، فسيؤدي ذلك إلى حدوث خطأ يمكن رؤية الخطأ في وحدة تحكم عبر تشغيل التعليمات. لذا، على عكس `var`، عند استخدام `let`، لا يمكن الإعلان عن متغير يحمل نفس الاسم @@ -53,7 +53,7 @@ const PASSWORD = 123; PASSWORD = 987; // حدوث خطأ بسبب اعاده تعيين ``` -ستعرض وحدة التحكم خطأً بسبب إعادة تعيين قيمة PASSWORD. +ستعرض وحدة التحكم خطأً بسبب إعادة تعيين قيمة `PASSWORD`. يجب عليك دائمًا تسمية المتغيرات التي لا تريد إعادة تعيينها باستخدام الكلمة الأساسية `const`. يساعد هذا عندما تحاول عن طريق الخطأ إعادة تعيين متغير من @@ -61,7 +61,7 @@ PASSWORD = 987; // حدوث خطأ بسبب اعاده تعيين من الشائع للمطورين استخدام معرفات المتغيرات الكبيرة للقيم غير القابلة للتغيير -والأحرف الصغيرة أو CamelCase للقيم القابلة للتغيير +والأحرف الصغيرة أو (camelCase) للقيم القابلة للتغيير ## الخلاصة diff --git a/courses/variables/uninitialized-variables.md b/courses/variables/uninitialized-variables.md index c0473d0..ba77d51 100644 --- a/courses/variables/uninitialized-variables.md +++ b/courses/variables/uninitialized-variables.md @@ -4,7 +4,7 @@ snippet: عندما يتم الإعلان عن متغيرات تكون قيمت order: 3 --- -عندما يتم الإعلان عن متغيرات JavaScript، تكون قيمتها الأولية غير محددة ( +عندما يتم الإعلان عن متغيرات جافاسكربت، تكون قيمتها الأولية غير محددة ( [undefined](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined) ). إذا أجريت عملية حسابية على متغير غير محدد فستكون النتيجة ( [NaN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN) diff --git a/routes/_404.tsx b/routes/_404.tsx index a732773..60e9b83 100644 --- a/routes/_404.tsx +++ b/routes/_404.tsx @@ -22,8 +22,8 @@ export default function Error404() {

تأكد من صحة الرابط.

- - العودة الى صفحة الدروس + + العودة إلى صفحة الدروس
diff --git a/routes/about.tsx b/routes/about.tsx index 546e4f4..1e3f919 100644 --- a/routes/about.tsx +++ b/routes/about.tsx @@ -104,8 +104,8 @@ export default function AboutPage() {

- - العودة الى الصفحة الرئيسية + + العودة إلى الصفحة الرئيسية
diff --git a/routes/group/[slug].tsx b/routes/group/[slug].tsx index 2f8e386..46955c2 100644 --- a/routes/group/[slug].tsx +++ b/routes/group/[slug].tsx @@ -61,8 +61,8 @@ export default function CoursePage(props: PageProps) { ))}
diff --git a/routes/offline.tsx b/routes/offline.tsx index 6bc76c0..946b7c4 100644 --- a/routes/offline.tsx +++ b/routes/offline.tsx @@ -22,8 +22,8 @@ export default function Offline() {

أنت غير متصل بالانترنت، تأكد من اتصالك بالانترنت وحاول مرة اخرى.

- - العودة الى صفحة الدروس + + العودة إلى صفحة الدروس