اكتب التحويل والصب
اكتب الإكراه (نوع الإكراه)
إنه تحويل تلقائي أو ضمني للقيم من نوع بيانات إلى آخر (على سبيل المثال ، سلسلة إلى رقم). تشبه تحويلات النوع تحويلات النوع لأن كلاهما يقوم بتحويل القيم من نوع بيانات إلى آخر ، مع اختلاف رئيسي واحد - تحويل النوع ضمني ، بينما يمكن أن يكون تحويل النوع ضمنيًا أو صريحًا.
أمثلة:
في المثال أعلاه ، تضع JavaScript الرقم 9
في سلسلة ، ثم تربط القيمتين 2️⃣ معًا ، مما ينتج عنه السلسلة 59
. كان لجافا سكريبت الاختيار بين سلسلة أو رقم واختار استخدام سلسلة.
يمكن للمترجم تحويل السلسلة 5
إلى رقم وإرجاع مجموع 14
، لكنه لم يفعل. للحصول على هذه النتيجة ، تحتاج إلى تحويل السلسلة 5
صراحةً إلى رقم باستخدام Number()
طريقة:
اكتب التحويل
يعني نقل البيانات من نوع بيانات إلى آخر. يحدث التحويل الضمني عندما يقوم المحول البرمجي تلقائيًا بتعيين (تعيين) أنواع البيانات ، ولكن قد تتطلب شفرة المصدر أيضًا صراحة اكتمال التحويل.
سلسلة التحويل
Sيحدث تحويل tring عندما تريد تمثيل شيء ما كسلسلة. على سبيل المثال ، يمكننا استخدام String (value)
وظيفة لتحويل قيمة إلى سلسلة :
يحدث التحول بطريقة واضحة. true
يصبح"true"
التحويل الرقمي
يحدث التحويل العددي في وظائف وتعبيرات الرياضيات.
يمكننا استخدام Number (value)
وظيفة لتحويل صراحة value
إلى رقم :
غالبًا ما يتم استخدام التحويل الصريح عندما نتوقع الحصول على رقم من سياق سلسلة ، مثل الحقول النصية في النماذج.
إذا تعذر تحويل السلسلة بشكل صريح إلى رقم ، فستكون نتيجة التحويل "NaN" (ليس رقمًا ، "وليس رقمًا"). علي سبيل المثال:
قواعد التحويل الرقمي:
قيمة | تم التحويل إلى ... |
---|---|
undefined | NaN |
null | 0 |
true / false | 1 / 0 |
string | يتم قطع المساحة البيضاء عند الحواف. علاوة على ذلك ، إذا بقيت سلسلة فارغة ، فسنحصل على 0 ، وإلا فسيتم "قراءة" الرقم من سلسلة غير فارغة. عند حدوث خطأ ، تكون النتيجة هي NaN. |
أمثلة:
Number(' 123 ') // 123
Number('123z') // NaN (error reading the number in place of the "z" character)
Number(true) // 1
Number(false) // 0
Number(null) // 0
Number(undefined) // NaN
لاحظ أن null
و undefined
تتصرف بشكل مختلف. وبالتالي، null
يصبح صفرا ، بينما undefined
يلقي ل NaN
.
التحويل المنطقي
التحول المنطقي هو الأبسط. تحدث في عمليات منطقية ، ولكن يمكن إجراؤها أيضًا بوضوح مع الوظيفة ⚙️Boolean (value)
.
قواعد التحويل المنطقية:
القيم التي تكون "فارغة" حدسيًا مثل "0" ، سلسلة فارغة ، null
, undefined
, و NaN
أصبحfalse
. تصبح جميع القيم الأخرىtrue
.
Boolean(1) // true
Boolean(0) // false
Boolean('Привет!') // true
Boolean('') // false
:::تنبيه لاحظ أن السطر الذي يحتوي على صفر "0" صحيح
بعض اللغات (على سبيل المثال PHP) فسر السلسلة " 0 "
as false
. لكن في JavaScript ، إذا لم تكن السلسلة فارغة ، فهي دائمًاtrue
:::
Boolean('0') // true
Boolean(' ') // space is also true (any non-empty string is true)
مشاكل؟
اكتب ل Discord محادثة.
أسئلة:
ما الوظيفة التي يجب أن تستخدمها لتحويل السلسلة؟
String (value)
Boolean (value)
Number (value)
ما هو التلبيس؟
- نقل البيانات من نوع إلى آخر
- تحويل القيم من نوع بيانات إلى نوع آخر
- تمثيل الشيء كسلسلة
ما هو الفرق الرئيسي بين التلبيس والتلبيس؟
- تحويل النوع صريح ، وتحويل النوع ضمني
- نوع الصب ضمني ، وتحويل النوع صريح
- تحويل النوع ضمني ، ويمكن أن يكون تحويل النوع صريحًا وضمنيًا
NaN
?متى تكون نتيجة التحويل
- عندما لا يمكن تحويل سلسلة بشكل صريح إلى رقم
- عندما لا يمكن تحويل رقم بشكل صريح إلى سلسلة
- عندما يكون هناك خطأ في الكود
ماذا تصبح القيم "الفارغة" عند تحويلها؟
null
true
false
لفهم مقدار ما تعلمته في هذا الدرس ، قم بإجراء الاختبار فيmobile application من مدرستنا في هذا الموضوع.
الروابط
- MDN web docs - Typecasting
- Code for Teens: The Perfect Beginner's Guide to Programming, Volume 1: Javascript - Jeremy Moritz
- JavaScript.ru
- Integer arithmetic
المساهمون✨
الشكر يعود إلى هؤلاء الأشخاص الرائعين(emoji key):
Dmitriy Vasilev 💵 | Resoner2005 🐛 🎨 🖋 |