يمكن تحويل أنواع مختلفة من البيانات الأساسية في JS. هناك 5 أنواع أساسية من البيانات في JS: String ، Number ، Boolean ، Null ، غير محدد.
التحويل بين البيانات الأساسية
| نوع البيانات الأصلي | رقم النوع الهدف |
| غير محدد | نان |
| باطل | 0 |
| خطأ شنيع | 0 |
| حقيقي | 1 |
| سلسلة رقمية | الرقم المقابل |
| سلسلة لا يمكن تحويلها | نان |
| نوع البيانات الأصلي | سلسلة نوع الهدف |
| غير محدد | غير محدد |
| باطل | باطل |
| خطأ شنيع | خطأ شنيع |
| حقيقي | حقيقي |
| رقم | سلسلة الأرقام |
إضافة أنواع مختلفة من البيانات الأساسية ، يتم تحويل البيانات إلى الرقم أولاً ، ثم يتم تحويلها إلى سلسلة (إذا كان هناك بيانات نوع السلسلة للمشاركة في العملية)
نسخ رمز رمز على النحو التالي:
NULL + غير محدد // 0 + NAN
null + false // 0 + 0
1 + صواب // 1 + 1
1 + '1' /// '11 ؛
1 + 2 '3' // '33' ؛ سوف تصبح نفس النتيجة كما يلي.
1 +(2 +'3') // '123' ؛
's' + null // 'snull'
's' + undefined // 'SunDefined'
's' + true // 'strue'
1+true+undefined+'s' // 1+1+nan+'s' = 2+nan+'s' = nan+'s' = nans
مشاركة كائن طريقة الإضافة والطرح
يشارك الكائن في النوع الأساسي لتشغيل البيانات ، ويترجم أولاً إلى النوع الأساسي. اتصل أولاً طريقة القيمة. ومع ذلك ، فإن بيانات التاريخ هي عكس ذلك
نسخ رمز رمز على النحو التالي:
// من أجل تسهيل مراقبة طريقة tostring وطريقة تاريخ إعادة الكتابة
date.prototype.toString = function () {
العودة 1 ؛
}
date.prototype.valueof = function () {
العودة 2 ؛
}
var a = تاريخ جديد ،
ب = تاريخ جديد ؛
A + B ؛
// أعد كتابته مرة أخرى
date.prototype.toString = function () {
يعود {}؛
}
var c = تاريخ جديد ،
D = تاريخ جديد ؛
C + D ؛
// أعد كتابة طريقة القيمة
date.prototype.valueof = function () {
يعود {}؛
}
var e = تاريخ جديد ،
f = تاريخ جديد ؛
E + F ؛
يمكن استبدال المثال أعلاه بكائن أو أنواع أخرى للحصول على النتائج المقابلة ، ولكن القيمة الأولى للمكالمات ثم اتصل على tostring.
التأثير السحري لـ "+"
هناك رقم "+" أمام البيانات ، والتي يمكن تحويلها إلى رقم
نسخ رمز رمز على النحو التالي:
+'1'+1 // 2
+'s'+2 // nan
ملاحظة: للمرة الأولى ، فإن التنسيق ليس جيدًا ، وهناك العديد من الإغفالات.