JS метод Number.valueOf()


Загальний опис

Метод Number.prototype.valueOf() служить для отримання примітивного значення числового об'єкта. Основна суть цього методу полягає в поверненні власне числового значення, з яким працюють в більшості арифметичних операцій, замість об'єкта-обгортки. Цей метод корисний, коли необхідно чітко визначити числове представлення значення, особливо при роботі з об'єктними та примітивними числовими типами.

В більшості випадків JavaScript автоматично викликає метод valueOf() при виконанні операцій, які потребують примітивного числового значення. Наприклад, якщо ми маємо об'єкт:

let numObj = new Number(10);

і ми хочемо отримати його примітивне значення, можемо використовувати valueOf():

let numValue = numObj.valueOf(); // 10

Втім, зазвичай цей метод використовується неявно. Тобто при виконанні арифметичних операцій, JavaScript автоматично перетворює об'єктне число в його примітивний еквівалент без явного виклику valueOf().

Однак важливо знати про існування такого методу, особливо при роботі з іншими об'єктами та типами, де може виникнути потреба у явному перетворенні. Наприклад, при порівнянні об'єкта з примітивом:

if (numObj == numObj.valueOf()) {
    console.log("Вони однакові!");
}
автор: Bond

Порада

Якщо ви перевіряєте значення об'єкту Number у відладці або консолі, valueOf() може бути швидким способом отримати його примітивне числове значення, особливо якщо вам потрібно порівняти його з іншими числовими значеннями.

автор: Bond
Порада

Якщо ви спілкуєтеся з іншими бібліотеками або API, які можуть повертати числа як об'єкти, valueOf() може бути корисним для забезпечення точного порівняння числових значень.

let numObj = new Number(5);
console.log(5 === numObj); // false
console.log(5 === numObj.valueOf()); // true
автор: Bond
Нотатка

Незважаючи на те, що в багатьох випадках об'єкт Number та його примітивне числове значення ведуть себе однаково, важливо розуміти, що valueOf() повертає просте числове значення, а не об'єкт Number. Це може бути корисним, коли потрібно гарантувати працю з примітивним значенням.

автор: Bond

Синтаксис

valueOf()

Повернення

number

Повертає число, що представляє примітивне значення вказаного об'єкта Number. Це означає, що якщо метод застосовано до об'єкта-обгортки для числа, він поверне його базове числове представлення, дозволяючи працювати з ним, як із звичайним примітивним числом.

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE
1 1 1 4 12
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
0.10.0 1.0

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі ми використовуємо метод valueOf() для отримання примітивного значення числового об'єкта. Взагалі кажучи, JavaScript автоматично конвертує об'єкти в примітиви, коли це потрібно, але іноді може знадобитися виконати це приведення вручну.

let numObject = new Number(42); // створення числового об'єкта

// Отримання примітивного значення за допомогою valueOf
let primitiveNum = numObject.valueOf();

console.log(primitiveNum);       // 42
console.log(typeof primitiveNum); // "number"
автор: Bond

У цьому прикладі ми розглядаємо, як valueOf() може бути використаний в контексті, де автоматичне приведення типів не відбувається так, як ми очікуємо. Це дозволить нам порівнювати числові об'єкти з примітивними числами.

let numObject1 = new Number(7);
let numObject2 = new Number(7);

// Пряме порівняння двох об'єктів завжди повертає false
console.log(numObject1 === numObject2); // false

// Використання valueOf для отримання примітивних значень і їх порівняння
console.log(numObject1.valueOf() === numObject2.valueOf()); // true
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід