التحويلات الضمنية JavaScript في المساواة مع سلسلة
-
16-09-2019 - |
سؤال
كيف يتصرف جافا سكريبت بالمقارنات true == "true"
و (0 == "0")
?
المحلول
اكتب مشغلي إكراك الإكراه (== و! =) يمكن أن تسفر عن نتائج Wierd:
'' == '0' // false
0 == '' // true
0 == '0' // true
false == 'false' // false
false == '0' // true
false == undefined // false
false == null // false
null == undefined // true
' \t\r\n ' == 0 // true
the === و! == مشغلي المساواة الصارمة هم دائما يفضل.
نصائح أخرى
عند استخدام == أو! = إذا كانت أنواع التعبيرتين مختلفة، فستحاول تحويلها إلى سلسلة أو رقم أو منطقي وغيرها
ومع ذلك، يمكنك استخدام مقارنة الهوية === أو! == حيث يتم تحويل أي نوع، يجب أن تكون الأنواع هي نفسها تعتبر متساوية.
لا تنتمي إلى StackOverflow