Jshint: إضافة خيار لمنع "استخدام '===' للمقارنة مع الخطأ" 0 "

تم إنشاؤها على ١٥ نوفمبر ٢٠١٣  ·  7تعليقات  ·  مصدر: jshint/jshint

إن استخدام == للمقارنة بالصفر ببساطة ليس خطأ أو خطيرًا عند مقارنة قيمة مضمونة لتكون رقمًا. فمثلا:

var arr = ["foo"];
var arrIsEmpty = (arr.length == 0);

أميل إلى استخدام == في هذه المواقف وهو قرار أسلوبي بحت. أود من JSHint احترام رغباتي المستنيرة.

التعليق الأكثر فائدة

بالنسبة للآخرين الذين قد يجدون صعوبة في الاستفادة من قيمة الإجابة ، يبدو أن تعيين "-W041": false يفي بالغرض.

ال 7 كومينتر

أنت على علم بخيار eqeqeq ، أليس كذلك؟ هذا هو المكان الذي يأتي منه هذا الخطأ ، فإن ضبطه على خطأ سيحررك من هذه الحالة. أم أنك تبحث عن شيء أكثر تحديدًا ، مثل فقط قمع المقارنات بـ 0 (وليس المقارنات بقيم أخرى)؟

eqeqeq هي الحالة العامة. يبدو أن هناك فحصًا منفصلاً للمقارنة بـ 0 الذي يشتكي حتى إذا كان eqeqeq خاطئًا.

ما أريده حقًا هو أن أكون قادرًا على قمع جميع أشكال الشكاوى الواردة من JSHint حول استخدام == و! = ، لكن المقارنة مع 0 هي التي تمنع ذلك.

هم أرى. الكود ذو الصلة موجود هنا ، إنه بالتأكيد يستدعي هذه المقارنة على وجه التحديد (من بين أمور أخرى):

https://github.com/jshint/jshint/blob/6140ade7437799e182347bf2d39ec68c3c3d0263/src/jshint.js#L2201 -L2215
https://github.com/jshint/jshint/blob/6140ade7437799e182347bf2d39ec68c3c3d0263/src/jshint.js#L1338 -L1346

يمكنك تعطيل هذا التحذير من خلال رمزه.

بالنسبة للآخرين الذين قد يجدون صعوبة في الاستفادة من قيمة الإجابة ، يبدو أن تعيين "-W041": false يفي بالغرض.

شكرا privman

لمعلوماتك ، وجدت أيضًا المزيد من التفاصيل هنا

هل هناك دافع لإبقاء تحذيرات W041 سارية عند "eqeqeq": false ؟

إنهم يحظرون بشكل فعال استخدام == و != في المواقف المتأثرة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات