صحيحة أو خاطئة؟
سيكون هناك الكثير من الأشياء الجديدة في هذا الفصل ، لكن لا ينبغي أن يكون الأمر صعبًا للغاية: بعد كل شيء ، بشكل عام ، كل شيء يدور حول فكرة بسيطة - صحيحة أم خاطئة؟
حتى الآن ، تعاملنا دائمًا مع أنواع البيانات البدائية فقط - مع الأرقام والسلاسل. هل صادفت مصطلح "بدائي" في البرمجة من قبل؟ إذا لم يكن الأمر كذلك ، فسأشرح: تعني كلمة "بدائي" (يقولون أيضًا "بسيط") أن نوع البيانات هذا ليس كائنًا (سنعود إلى هذه النقطة) ولا يحتوي على طرق عمل مضمنة (ذلك هو ، وظائف⚙️).
يُطلق على نوع البيانات الذي ستحتاج إليه بالتأكيد اسم منطقي أو منطقي. دائمًا ما يكون للنوع المنطقي القيمة أيضًاtrue
- صواب أو false
- خاطئة. وفقط بهذه الطريقة ، ولا شيء غير ذلك! إنه إما يكذب أو يقول الحقيقة - إما أن يختفي ، أو أن الضوء مضاء أو مطفأ ، أو موجود أو لا. إما أن تقوم بأداء واجبك أو لم تفعله. اثنين فقط 2️⃣ القيم هي "صحيح" أو "خطأ".
عوامل المساواة
true
or false
.تكون القيم المنطقية مفيدة عندما نحتاج إلى مقارنة شيء ما في JavaScript. عندما تدعو الحاجة ، فإننا ندعو فورا عوامل المقارنة
الآن سوف ندرس بالتسلسل جميع عوامل المقارنة الثمانية ، ولكن الشيء هو أنه نتيجة لكل منهم ، فإننا لا نهتم
سنبقى دائمًا مع قيمة منطقية - إما
يساوي ==
يقوم عامل التشغيل equals أولاً بتحويل المعاملات إلى نفس النوع ، ثم يقوم بتطبيق مقارنة صارمة. إذا كان كلا المعاملين عبارة عن كائنات ، فإن JavaScript يقارن المراجع الداخلية المتساوية إذا كانت تشير إلى نفس الكائن في الذاكرة.
بناء الجملة :
x == y
أمثلة:
1 == 1 // true
'1' == 1 // true
1 == '1' // true
3 == 5 // false
0 == false // true
'foo' == 'bar' // false
أدخل الأمثلة واحدًا تلو الآخر في ملف bool
متغير لدينا LIVE EDITOR
لا يساوي ! =
يعود عامل التشغيل لا يساوي true
إذا كانت المعاملات غير متساوية. إنه مشابه لعامل المساواة ، حيث يتم تحويل المعاملات إلى نفس النوع قبل المقارنة. إذا كان كلا المعاملين عبارة عن كائنات ، فإن JavaScript يقارن المراجع الداخلية غير المتساوية إذا كانت تشير إلى كائنات مختلفة في الذاكرة.
بناء الجملة :
x != y
Examples:
1! = 2 // true
1! = '1' // false
1! = '1' // false
1! = True // false
0! = False // false
'foo'! = 'bar' // true
أدخل الأمثلة واحدًا تلو الآخر في ملف bool
متغير لديناLIVE EDITOR
يساوي بدقة ===
يعود العامل صحيحًا إذا كانت المعاملات متساوية تمامًا. على عكس عامل التشغيل equals ، فإن هذا العامل لا يلقي المعاملات إلى نفس النوع.
بناء الجملة :
x === y
أمثلة:
3 === 3 // true
3 === '3' // false
'foo' === 'foo' // true
يتأكد المشغل من تطابق القيمة والنوع تمامًا. في حالة "3 === '3'` ، تكون القيمة ، بالطبع ، متطابقة ، لكن النوع ليس كذلك: الأول رقم ، والثاني عبارة عن سلسلة.
أدخل الأمثلة واحدًا تلو الآخر في ملف bool
متغير لديناLIVE EDITOR
بدقة لا يساوي ! ==
يعود عامل التشغيل غير المتكافئ بشكل صارم إلى القيمة الصحيحة إذا كانت المعاملات غير متساوية أو تختلف أنواعها عن بعضها البعض.
بناء الجملة :
x !== y
Examples:
3 !== '3' // true
4 !== 3 // true
أدخل الأمثلة واحدًا تلو الآخر في ملف bool
متغير لدينا LIVE EDITOR
لماذا لا تستخدم == 'و
! = ؟ ولكن لأنه ، بشكل عام ، لا توجد مثل هذه الحاجة. كلما أمكنك استخدامها ، يمكنك دائمًا استخدام كلٍّ من '===
و'! == . إذا كنت تريد المزيد من المرونة في الإجابة (على سبيل المثال ، بحيث يتم قبول كل من
1 و
1 'أو صحيح
على حد سواء ), ثم يمكنك ببساطة تضمين خيارات الإجابة المطلوبة في الكود نفسه (بدون تغيير هذا ===
).
::: info فقط افهم القاعدة
لم أستعمل أبدا ==
أو! =
:::
عوامل المقارنة
المزيد '> `
يعود العامل الأكثر صحيحًا إذا كانت قيمة المعامل الأيسر أكبر من قيمة المعامل الأيمن.
بناء الجملة :
x > y
أمثلة:
4 > 3 // true
1 > 5 // false
أدخل الأمثلة واحدة تلو الأخرى في المتغير bool
في LIVE EDITOR
أقل '<`
يُرجع العامل أقل من صحيحًا إذا كانت قيمة المعامل الموجود على اليسار أقل من قيمة المعامل الموجود على اليمين.
بناء الجملة :
x < y
أمثلة:
3 < 4 // true
5 < 2 // false
أدخل الأمثلة واحدًا تلو الآخر في ملف bool
متغير لدينا LIVE EDITOR
أكبر من أو يساوي > =
عامل التشغيل أكبر من أو يساوي ، ويعيد صحيحًا إذا كانت قيمة المعامل الموجود على اليسار أكبر من أو تساوي قيمة المعامل الموجود على اليمين.
بناء الجملة :
x >= y
أمثلة:
4 >= 3 // true
3 >= 3 // true
أدخل الأمثلة في bool
متغير واحدًا تلو الآخر:
أصغر من أو يساوي <=
عامل التشغيل أصغر من أو يساوي ، ويعيد صحيحًا إذا كانت قيمة المعامل الموجود على اليسار أقل من أو تساوي قيمة المعامل الموجود على اليمين.
بناء الجملة :
x <= y
أمثلة:
3 <= 4 // true
3 <= 3 // true
أدخل الأمثلة في bool
متغير واحدًا تلو الآخر:
بنيات شرطية
يجب أن تفكر ، "حسنًا ، كل هذا المنطق المنطقي كان بسيطًا جدًا ... ربما تكون عديمة الفائدة إلى حد ما ولا يتم استخدامها كثيرًا." لا يهم كيف هو! تُستخدم القيم المنطقية في البرمجة أكثر من كل الوقت وغالبًا في شكل شروط (أو تعبيرات).
ما هو "الشرطي"؟
سؤال جيد! الشرط هو عبارة تُستخدم لتشغيل كتل معينة من التعليمات البرمجية وفقًا لشرط معين. يعرض الشرط (على سبيل المثال ، عند مقارنة x === y
) دائمًا قيمة منطقية - إما true
أوfalse
. وفقًا لذلك ، إذا كانت القيمة "صواب" , ثم يجب تشغيل الكود ، وإلا يجب تخطي كتلة التعليمات البرمجية. لنلقِ نظرة على بعض الأمثلة.
التعبيرات الشرطية مع if
ال if
ينفذ البناء instruction1
, إذا كانت الحالة true
, إذا كانت الحالة false
, من ثمinstruction2
يتم تنفيذ.
بناء الجملة :
if (condition) {
instructions1
} else {
instructions2
}
condition
-
تعبير إما صحيح أو خطأ.
instruction1
-
يتم تنفيذ التعليمات إذا كانت قيمة condition
صحيح . يمكن أن يكون أي عبارة ، بما في ذلك "if" المتداخلة. يمكن استخدام العبارة الفارغة عند عدم الحاجة إلى اتخاذ أي إجراء.
instruction2
-
تعليمات للتنفيذ إذا كانت قيمة condition
هو زائف. يمكن أن يكون أي بيان ، بما في ذلك جملة if
.يمكن أيضًا تجميع التعليمات في كتلة. تغيير السنة في whatIsTheYearNow
متغير ولاحظ الإخراج.
"if" ليس فقط مع القيم المنطقية
يمكن أن تعمل التعبيرات الشرطية ليس فقط مع القيم المنطقية ، أي مع تلك التي ليست بالضبط "صواب" أو "خطأ" لذلك ، بشكل عام ، يمكننا استخدامها بأمان بين قوسين ، بالإضافة إلى القيم المنطقية.
- كل الأعداد الصحيحة ما عدا الصفر -
true
- سلسلة بها واحدة على الأقل
true
حرف - السلسلة الفارغة هي
false
لنجربها ، أدخل القيم في ملف bool
عامل:
عوامل المقارنة في تعبيرات if
لقد تعاملنا حتى الآن مع المقارنات أو الشروط الشرطية مع "if" ، لكننا حتى الآن لم نستخدمها معًا ، وقد صُنعت فقط لبعضها البعض!
تعدد شروط "else if"
في بعض الأحيان ، تحتاج إلى التحقق من عدة متغيرات للحالة. يتم ذلك باستخدام كتلة "else if". قم بتغيير السنة وانظر الناتج.
عامل التشغيل الشرطي (الثلاثي) '؟ `
عامل تشغيل JavaScript الوحيد الذي يقبل ثلاثة معاملات: condition
متبوعة بعلامة استفهام؟
، ثم التعبير
، الذي يتم تنفيذه إذا كان الشرط صحيحًا ، متبوعًا بنقطتين :
، وأخيرًا ، التعبير
الذي إذا كان الشرط خاطئًا. غالبًا ما يتم استخدامه كاختصار لعبارة "if".
بناء الجملة :
cحالة ؟ التعبير 1: التعبير 2
المعلمات:
condition
- تعبير يأخذ القيمة true
أو false
.
expression1
, expression2
- التعبيرات التي يمكن أن تكون قيمها من أي نوع.
مثال:
مشاكل؟
اكتب لDiscord محادثة.
أسئلة:
ما الصيغة المستخدمة في عامل المساواة؟
x == y
x = y
x - y
في هذه الحالة لا يرجع عامل التشغيل "صواب"؟
- إذا كانت المعاملات غير متساوية
- إذا كانت المعاملات متساوية
- إذا كان كلا المعاملين كائنات
كيف يساوي عامل التشغيل مختلفًا عن يساوي تمامًا؟
- لا تساوي بشكل صارم المعامِلات من النوع نفسه
- يساوي بدقة المعاملات إلى نفس النوع
- يضمن بدقة أن القيمة متطابقة ، لكن النوع ليس كذلك
ما هي صيغة المشغل بدقة لا تساوي؟
!=
!==
==!
في هذه الحالة يقوم العامل بإرجاع خطأ أكثر؟
- إذا كانت قيمة المعامل الأيسر أكبر من قيمة المعامل الأيمن
- إذا كانت قيمة المعامل الأيمن أكبر من قيمة المعامل الأيسر
- إذا كانت قيم المعامل هي نفسها
ما هي صيغة المعامل أكبر من أو يساوي؟
> =
> =>
> <=
في أي مثال سيعود عامل التشغيل الأصغر من أو المتساوي صحيحًا؟
4 <= 5
5 <= 4
3 <= 2
ما هو الشرط؟
- تعليمات
- التعبير
- القيمة
ما الكتلة المستخدمة للتحقق من المتغيرات المتعددة للشرط؟
else if
if
for
أي عامل يأخذ 3 معاملات؟
- عامل التشغيل الشرطي (الثلاثي)
- أكبر من أو يساوي
- أقل من أو يساوي
الروابط
- MDN web docs - Comparison Operators
- Code for Teens: The Perfect Beginner's Guide to Programming, Volume 1: Javascript - Jeremy Moritz
المساهمون ✨
الشكر يعود إلى هؤلاء الأشخاص الرائعين(emoji key):
Dmitriy Vasilev 💵 | Resoner2005 🐛 🎨 🖋 |