Number.isSafeInteger()
< JavaScript | Number
الدالة 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 هذه الميزة.
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).