بادئ ذي بدء ، نظرًا لأن JavaScript هي لغة من النوع الضعيف (لا تحتوي اللغات من النوع الضعيف على أنواع واضحة. يمكنها تلقائيًا تحويل الأنواع وفقًا للبيئات المختلفة ، في حين أن الأنواع القوية لا تحتوي على مثل هذه اللوائح. يتم تحديد العمليات بين الأنواع المختلفة بشكل صارم ، ولا يمكن إلا أن تكون المتغيرات التي لا يمكن أن تكون فيها نوعًا ما ، حيث لا تتطلب الأمر أن تكون هناك نوعًا ما ، حيث لا توجد متغيرات. تحدد المتغيرات والمتغيرات أنواع البيانات حسب عمليات التخصيص) ، هناك تحويلات ضمنية لا تملكها اللغات المكتوبة بقوة في تحويل نوع JavaScript.
1.1 التحويل الضمني في جافا سكريبت (تحويل النوع التلقائي)
تعريف بسيط: يمكن تحويل بيانات أنواع البيانات المختلفة عن طريق أنواع البيانات الافتراضية عند إجراء العمليات.
عادة ما يتبع التحويل الضمني القواعد التالية:
1. الرقم + السلسلة: تحويل الرقم إلى سلسلة.
var n1 = 12 ؛ // نوع الرقم var n2 = "12" ؛ // نوع السلسلة console.log (n1+n2) ؛ // النتيجة هي "1212" من نوع السلسلة
2. الرقم + منطقية: صحيح إلى 1 ، خطأ إلى 0.
var n1 = 12 ؛ // type type var n2 = true ؛ // boolean type console.log (n1+n2) // النتيجة هي 13
3. String + Boolean: يتم تحويل القيمة المنطقية إلى صواب أو خطأ.
var n1 = "hello" ؛ // string type var n2 = true ؛ console.log (n1+n2) ؛ // النتيجة هي "hellotrue" من نوع السلسلة
4. قيمة منطقية + قيمة منطقية
var n1 = true ؛ var n2 = true ؛ console.log (n1+n2) ؛ // نتيجة التشغيل هي 2 ؛
بالنسبة للنتائج التي تم الحصول عليها في الحالة أعلاه ، يمكن للأصدقاء الذين ليسوا متأكدين من نوع الإخراج عرض النوع الحالي للمتغير من خلال طريقة typeof ().
console.log (typeof (11)) ؛ // number console.log (typeof ("11")) ؛ // string console.log (typeof (true)) ؛ // boolean1.2 وظيفة تحويل نوع البيانات
هناك تحويلات ضمنية في JavaScript ، وستكون هناك تحويلات صريحة في المقابل. إذا كنت ترغب في إجراء تحويلات صريحة ، فأنت بحاجة إلى استخدام الوظائف التالية:
1. tostring ()
---> تحويل إلى سلسلة ، يمكن تحويل جميع أنواع البيانات إلى نوع السلسلة في JavaScript
var n1 = "12" ؛ var n2 = true ؛ var n11 = toString (n1) ؛ var n22 = toString (n2) ؛ console.log (typeof (n11)) ؛ // النتيجة هي سلسلة console.log (typeof (n22)) ؛ // النتيجة هي سلسلة
2.Parseint ()
---> تحليل جزء صحيح من سلسلة أو نوع الرقم. إذا لم يكن هناك جزء يمكن تحويله ، فإنه يعيد NAN (وليس رقمًا)
var n1 = "12" ؛ var n2 = "12han" ؛ var n3 = "hello" ؛ var n11 = parseint (n1) ؛ var n22 = parseint (n2) ؛ var n33 = parseint (n3) ؛ console.log (n11) ؛ // النتيجة هي 12 وحدة التحكم.
تشغيل الكود أعلاه ، ليس من الصعب أن نرى أن أنواع البيانات التي تم تحويلها بواسطة المتغير N1 N2 N3 كلها رقم ، ولكن الوظيفة N33 التي تم الحصول عليها بواسطة Parseint () ليست قيمة نوع الرقم التي نعرفها ، ولكنها NAN. ليس من الصعب أن نرى أنه على الرغم من أن NAN ليس رقمًا ، إلا أنه ينتمي إلى نوع رقم ولا يمكن تطبيقه على أي خوارزمية لا يمكن تطبيقها على الأرقام العادية. إنه وجود خاص نسبيا. (سيتم ذكره في منشور المدونة اللاحق ، ولن أكرره مرة أخرى)
3.Parsefloat ()
---> تحليل جزء النقطة العائمة للسلسلة ، وإذا لم يكن هناك جزء يمكن تحويله ، فإنه يعيد NAN (وليس رقمًا).
var n1 = "12.4.5" ؛ var n2 = "12.4han" ؛ var n3 = "hello" ؛ var n11 = parsefloat (n1) ؛ var n22 = parsefloat (n2) ؛ var n33 = parsefloat (n3) ؛ console.log (n11) ؛ // النتيجة هي 12.4 console.log (n22) ؛ // النتيجة هي 12.4 console.log (n33) ؛ // النتيجة هي NAN
من خلال المثال أعلاه ، يمكننا أن نستنتج أن قيمة إرجاع parsefloat () هي بالفعل رقم ، ولكن من المقارنة العمودية للعديد من المتغيرات ، ليس من الصعب أن نرى أن الوظيفة لا تتحول بعد مواجهة النقطة العشرية الثانية ، لذلك يلزم اهتمام خاص هنا.
إن المقالة أعلاه تتفهم بشكل شامل تحويل نوع بيانات JavaScript هو كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.