الفرق بين المراجعتين ل"JavaScript/Number/isSafeInteger"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
 
ط (استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}')
 
سطر 59: سطر 59:
 
* مسودة المعيار [https://tc39.github.io/ecma262/#sec-number.issafeinteger ECMAScript Latest Draft].
 
* مسودة المعيار [https://tc39.github.io/ecma262/#sec-number.issafeinteger ECMAScript Latest Draft].
 
* معيار [http://www.ecma-international.org/ecma-262/6.0/#sec-number.issafeinteger ECMAScript 2015 (6th Edition)]‎.  
 
* معيار [http://www.ecma-international.org/ecma-262/6.0/#sec-number.issafeinteger ECMAScript 2015 (6th Edition)]‎.  
[[تصنيف:JavaScript]]
+
[[تصنيف:JavaScript|{{SUBPAGENAME}}]]
[[تصنيف:JavaScript Global Objects]]
+
[[تصنيف:JavaScript Global Objects|{{SUBPAGENAME}}]]
[[تصنيف:JavaScript Number]]
+
[[تصنيف:JavaScript Number|{{SUBPAGENAME}}]]

المراجعة الحالية بتاريخ 15:39، 28 يناير 2018

الدالة 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 هذه الميزة.

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