JS метод Math.sign()
Загальний опис
Метод Math.sign() є частиною об'єкта Math в JavaScript і використовується для визначення знаку числа. Його основна корисність полягає у тому, що за допомогою цього методу можна легко і швидко визначити, чи є число додатним, від'ємним чи нулем. Це може бути корисним у різних математичних операціях або умовних виразах.
Для того, щоб використовувати Math.sign(), потрібно передати йому число як аргумент. Метод повертає:
- 1, якщо число додатнє;
- -1, якщо число від'ємне;
- 0, якщо число рівне нулю і його знак позитивний;
- -0, якщо число рівне нулю і його знак негативний;
- NaN, якщо аргумент — це не число.
Давайте розглянемо декілька прикладів:
- Простий приклад: - console.log(Math.sign(3)); // 1 console.log(Math.sign(-3)); // -1 console.log(Math.sign(0)); // 0
- Використання в умовному виразі: - let num = -5; if (Math.sign(num) === -1) { console.log('Число від\'ємне'); } else { console.log('Число додатнє або нуль'); }
- Робота з невідомими або динамічними значеннями: - let values = [3, -2, 0, "текст", NaN]; for (let value of values) { console.log(`Знак числа ${value} - ${Math.sign(value)}`); }
Особливості методу Math.sign():
- Якщо аргумент не є числом, метод автоматично спробує перетворити його на число. Наприклад, Math.sign("5")повертає1, алеMath.sign("текст")повертаєNaN.
- Для дуже малих чисел, які є близькими до нуля, але все ще мають певний знак (наприклад, з-за обрізання або заокруглення), Math.sign()допоможе визначити цей знак..
| Нотатка: | При роботі із не числовими типами даних,  | 
| Порада: | Якщо вам потрібно виконати якусь операцію тільки для додатних або тільки для від'ємних чисел, використовуйте   | 
| Порада: | Для досвідчених програмістів: у випадку роботи з великими масивами чисел, де потрібно визначити знак кожного числа, використання  | 
Синтаксис
Math.sign(x)Параметри
- *x
- Число, знак якого потрібно визначити. 
Return
- number
- Повертає число, яке представляє знак - x:- Якщо xдодатнє, повертає1.
- Якщо xвід'ємне, повертає-1.
- Якщо x- це додатний нуль, повертає0.
- Якщо x- це від'ємний нуль, повертає-0.
- У всіх інших випадках повертає NaN, що позначає "не число".
 
- Якщо 
Переглядачі
| Переглядач | |||||
|---|---|---|---|---|---|
| 38 | 25 | 9 | 25 | 12 | 
| Переглядач | ||||
|---|---|---|---|---|
| 38 | 38 | 25 | 9 | 
| Переглядач | ||
|---|---|---|
| 0.12.0 | 1.0 | 
Приклади
За допомогою цього коду користувач може ввести будь-яке число у поле вводу і, натиснувши кнопку "Перевірити знак", отримає результат про знак введеного числа.
У цьому прикладі ми використовуємо метод Math.sign() для того, щоб визначити знак числа і вивести відповідне повідомлення у консоль.
const number = -15;
// Використовуємо Math.sign() для отримання знаку числа
const sign = Math.sign(number);
// Виводимо результат
if (sign === 1) {
    console.log("Число додатнє");
} else if (sign === -1) {
    console.log("Число від'ємне");
} else {
    console.log("Це нуль");
}У цьому прикладі ми будемо сортувати масив чисел, розподіляючи їх на додатні, від'ємні та нулі. Це демонструє, як Math.sign() може бути корисним у більш складних операціях, наприклад, при роботі з масивами.
const numbers = [3, -2, 0, 5, -1, 0, -4, 8];
const positive = [];
const negative = [];
const zeros = [];
// Розподіляємо числа по масивах за їх знаком
for (const num of numbers) {
    const sign = Math.sign(num);
    if (sign === 1) {
        positive.push(num);
    } else if (sign === -1) {
        negative.push(num);
    } else {
        zeros.push(num);
    }
}
console.log("Додатні числа:", positive);
console.log("Від'ємні числа:", negative);
console.log("Нулі:", zeros);