جافا سكريبت نوع التحويلات (الصب)

تعرف على أساسيات تحويلات أنواع جافا سكريبت

حتى إذا كانت JavaScript لغة مكتوبة بشكل فضفاض ، فقد تحتاج إلى تحويل قيمة من نوع إلى آخر.

في JavaScript لدينا تلك الأنواع الأولية:

ونوع الكائن:

(زائدnullوundefined، ولكن لا فائدة من الإرسال منهم / إليهم)

على سبيل المثال ، قد ترغب في تحويل:

  • رقم لسلسلة
  • سلسلة لرقم
  • سلسلة إلى منطقية
  • قيمة منطقية لسلسلة

…وهكذا.

فيما يلي التقنيات التي يمكنك استخدامها للتحويل من نوع إلى آخر. أنا أغطي الحالات الأكثر شيوعًا.

التحويل إلى الأوتار

بشكل عام ، فإن التحويل من أي شيء إلى سلسلة عادة ما يكون مسألة استدعاءtoString()على أي قيمة ، وسيقوم JavaScript بإنشاء قيمة سلسلة مقابلة لهذا النوع. أو يمكنك تمرير أي قيمة إلى ملفString()وظيفة عالمية.

الصب من رقم إلى سلسلة

استخدم الدالة العالمية String ، أو نوع الرقمtoString()طريقة:

String(10) //"10"
(10).toString() //"10"

الصب من منطقية إلى سلسلة

استخدم الدالة العالمية String أو النوع المنطقيtoString()طريقة:

String(true) //"true"
true.toString() //"true"
String(false) //"false"
false.toString() //"false"

صب من تاريخ إلى سلسلة

استخدم الدالة العالمية String أو نوع التاريخtoString()طريقة:

String(new Date('2019-01-22'))
//"Tue Jan 22 2019 01:00:00 GMT+0100 (Central European Standard Time)"

(new Date('2019-01-22')).toString()
//"Tue Jan 22 2019 01:00:00 GMT+0100 (Central European Standard Time)"

حالات خاصة مع سلسلة

String(null) //"null"
String(undefined) //"undefined"
String(NaN) //"NaN"

التحويل إلى أرقام

الصب من سلسلة إلى رقم

يمكننا القيام بذلك باستخدامNumber()دالة عالمية ، وهي نوع من المنشئ يمكننا تمرير سلسلة نصية لها ، وسوف يكتشف JavaScript كيفية تحويلها إلى رقم:

Number("1") //1
Number("0") //0

يتم قطع السلاسل قبل تحويلها إلى أرقام:

Number(" 1 ") //1

يتم تعيين القيمة الافتراضية لتمرير سلسلة فارغة إلى 0:

Number("") //0

وللعمل مع الكسور العشرية ، استخدم نقطة:

Number("12.2")

إذا كانت السلسلة تحتوي على أحرف غير صالحة ، فسيتم إنشاءNaN.

هذه هي أساسيات التحويل إلى أرقام ، لكني أقدم الكثير من التفاصيل فيكيفية تحويل سلسلة إلى رقم في JavaScript. هناك طرق أخرى لتوليد الأرقام من سلسلة بما في ذلكparseInt()وparseFloat()وMath.floor()، أحادي+المشغل أو العامل.

الصب من منطقي إلى رقم

تمامًا كما فعلنا مع السلسلة ، تمرير قيمة منطقية إلىNumber()سيعود إما 0 أو 1:

Number(true) //1
Number(false) //0

الصب من تاريخ لآخر

إذا قمت بتمرير كائن التاريخ إلىNumber()، سيعيد الطابع الزمني للتاريخ ، وهو أفضل تاريخ يمكنك الحصول عليه لتحويل الرقم.

حالات خاصة مع العدد

Number(null) //0
Number(undefined) //NaN
Number(NaN) //NaN

التحويل إلى قيم منطقية

يمكن تحويل أي قيمة إلى قيمة منطقية تمريرها إليهBoolean().

سيتم حل جميع القيم لtrueيستثني:

Boolean(false) //false
Boolean(0) //false
Boolean(NaN) //false
Boolean("") //false
Boolean(null) //false
Boolean(undefined) //false

المزيد من دروس js: