Number.isSafeInteger()‎

من موسوعة حسوب
مراجعة 11:09، 3 ديسمبر 2017 بواسطة عبد اللطيف ايمش (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

الدالة Number.isSafeInteger()‎ تُحدِّد إذا كانت القيمة المُمرَّرة إليها هي عددٌ صحيحٌ «آمن». العدد الصحيح الآمن هو عددٌ صحيحٌ الذي:

  • يمكن تمثيله كعدد ذي فاصلة عشرية كما في معيار IEEE 754 بدقة
  • وأن يكون تمثيله كما في معيار IEEE 754 لا يؤدي إلى تقريب أي عدد لكي يكون مُطابِقًا للمعيار.

على سبيل المثال، العدد ‎253 - 1 هو عددٌ صحيحٌ آمن، فيمكن تمثيل قيمته كما هي، ولن يُقرّب أيُّ عدد فيه لنتمكن من تمثيله في معيار IEEE 754؛ لكن على النقيض مما سبق، العدد 253 ليس عددًا صحيحًا آمنًا على الرغم من إمكانية تمثيله في IEEE 754 بدقة، لكن العدد الصحيح 253‎ + 1 لا يمكن تمثيله مباشرةً في IEEE 654 وإنما سيُقرّب إلى 253. وبالتالي يكون مجال الأعداد الصحيحة الآمنة من ‎-(253 - 1)‎ إلى 253‎ - 1 (أي ‎‎± 9007199254740991).

البنية العامة

Number.isSafeInteger(value)

value

القيمة التي ستُختبَر إن كانت عددًا صحيحًا آمنًا.

القيمة المعادة

قيمة منطقية Boolean تُشير إذا كانت القيمة هي عددٌ صحيحٌ آمنٌ أم لا.

أمثلة

Number.isSafeInteger(3);                    // true
Number.isSafeInteger(Math.pow(2, 53));      // false
Number.isSafeInteger(Math.pow(2, 53) - 1);  // true
Number.isSafeInteger(NaN);                  // false
Number.isSafeInteger(Infinity);             // false
Number.isSafeInteger('3');                  // false
Number.isSafeInteger(3.1);                  // false
Number.isSafeInteger(3.0);                  // true

تعويض نقص دعم المتصفحات

Number.isSafeInteger = Number.isSafeInteger || function (value) {
   return Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER;
};

دعم المتصفحات

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي نعم 23 غير مدعومة نعم نعم

على النقيض من متصفح IE، يدعم متصفح Edge هذه الميزة.

مصادر ومواصفات