Math.sign()
< JavaScript | Math
الدالة Math.sign()
تعيد إشارة العدد، التي تُشير إلى أنَّ العدد موجبٌ أم سالبٌ أم صفر.
البنية العامة
Math.sign(x)
x
العدد التي ستُجرى عليه العملية.
القيمة المعادة
عدد يُمثِّل إشارة الوسيط المُمرَّر إلى الدالة. فلو كان الوسيط عددًا موجبًا أو عددًا سالبًا أو صفرًا موجبًا أو صفرًا سالبًا فستعيد هذه الدالة القيم 1
أو -1
أو 0
أو -0
على التوالي وبالترتيب؛ وإلا فستُعاد القيمة NaN
.
الوصف
لمّا كانت الدالة sign
هي دالةٌ ساكنة (static method) تابعةٌ للكائن Math، فيجب عليك استخدامها دومًا بالشكل Math.sign(x)
، إذ لا تستطيع استخدامها كجزء من كائن Math
خاص بك (تذكر أنَّ الكائن Math
ليس له دالةٌ بانية).
سيحوّل الوسيط المُمرَّر إلى هذه الدالة إلى النوع Number
ضمنيًا.
أمثلة
أمثلة عن استخدام الدالة Math.sign()
:
Math.sign(3); // 1
Math.sign(-3); // -1
Math.sign('-3'); // -1
Math.sign(0); // 0
Math.sign(-0); // -0
Math.sign(NaN); // NaN
Math.sign('foo'); // NaN
Math.sign(); // NaN
تعويض نقص دعم المتصفحات
يمكن محاكاة الدالة باستخدام الدالة الآتية:
if (!Math.sign) {
Math.sign = function(x) {
// If x is NaN, the result is NaN.
// If x is -0, the result is -0.
// If x is +0, the result is +0.
// If x is negative and not -0, the result is -1.
// If x is positive and not +0, the result is +1.
return ((x > 0) - (x < 0)) || +x;
// A more aesthetical persuado-representation is shown below
//
// ( (x > 0) ? 0 : 1 ) // if x is negative then negative one
// + // else (because you cant be both - and +)
// ( (x < 0) ? 0 : -1 ) // if x is positive then positive one
// || // if x is 0, -0, or NaN, or not a number,
// +x // Then the result will be x, (or) if x is
// // not a number, then x converts to number
};
}
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | 38 | 25 | غير مدعومة | 25 | 9 |
على النقيض من متصفح IE، يدعم متصفح Edge هذه الميزة.
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).