Number - JS
W tym rozdziale dowiesz się...
W jaki sposób JavaScript obsługuje wartości liczbowe?
- Number
W jaki sposób skonwertować dowolną wartość na liczbę?
- new Number
Jak przekształcić dowolną wartość na obiekt liczbowy?
- MAX_VALUE
Jaką największą liczbę można zapisać w JavaScript?
- MIN_VALUE
Jaką najmniejszą wartość można zapisać w JavaScript?
- NaN
Jak zapisać wartość liczbową, która jednak nie jest poprawną liczbą?
- NEGATIVE_INFINITY
Jak zapisać ujemną nieskończość w języku JavaScript?
- POSITIVE_INFINITY
Jak zapisać wartość nieskończoną w języku JavaScript?
Number
W jaki sposób skonwertować dowolną wartość na liczbę?
Number() Number(value)
- Parametry:
- value - wartość do konwersji
- Wartość:
- skonwertowana prosta wartość liczbowa (nie obiekt)
- Wyjątki:
TypeError
- value nie posiada metodyvalueOf
, zwracającej prostą wartość, ani metodytoString
Konwertuje dowolną wartość na prostą wartość liczbową. W przypadku braku argumentów wywołania zwraca 0. Jeżeli konwersja będzie niemożliwa, zwracana jest wartość NaN. Jeżeli konwertowaną wartością jest obiekt dowolnego typu, najpierw wywoływana jest jego metoda valueOf
, a jeśli zwrócona wartość nie jest typu prostego, następuje wywołanie metody toString
i dopiero z niej wyznaczana jest ostateczna wartość liczbowa.
Inaczej niż konstrukcja new Number(...), nigdy nie tworzy nowego obiektu, a jedynie prostą wartość liczbową.
Różnica pomiędzy Number(...)
a funkcją parseFloat(...) jest taka, że pierwsza z nich na końcu tekstu ignoruje tylko białe znaki, podczas gdy druga - wszystkie znaki niebędące poprawnym zapisem liczbowym.
Aby sprawdzić, czy funkcja nie zwróciła przypadkiem niepoprawnego wyniku, użyj funkcji isNaN.
Przykład Number
Number(); // 0 Number(undefined); // NaN Number(null); // 0 Number(true); // 1 Number(false); // 0 Number(new Boolean()); // 0 Number(0); // 0 Number(1); // 1 Number(-1.2); // -1.2 Number(Infinity); // Infinity Number(new Number()); // 0 Number("test"); // NaN Number(" +1.2 "); // 1.2 Number("0xA"); // 10 Number("1 test"); // NaN Number("false"); // NaN Number(" "); // 0 Number(""); // 0 Number(new String()); // 0 Number([]); // 0 == Number("") Number([0]); // 0 == Number("0") Number([1]); // 1 == Number("1") Number([1, 2, 3]); // NaN == Number("1,2,3") Number([true]); // NaN == Number("true") Number({}); // NaN == Number("[object Object]") var obj = {}; obj.valueOf = undefined; obj.toString = undefined; Number(obj); // TypeError
new Number
Jak przekształcić dowolną wartość na obiekt liczbowy?
new Number() new Number(value)
- Parametry:
- value - wartość na podstawie której zostanie utworzony obiekt
- Wartość:
Number
- nowa instancja obiektu liczbowego- Wyjątki:
TypeError
- value nie posiada metodyvalueOf
, zwracającej prostą wartość, ani metodytoString
Działa analogicznie jak funkcja Number, ale zawsze tworzy nową instancję obiektu liczbowego, a nie tylko prostą wartość liczbową.
Przykład new Number
new Number(); // new Number(0) new Number(undefined); // new Number(NaN) new Number(null); // new Number(0) new Number(true); // new Number(1) new Number(false); // new Number(0) new Number(new Boolean()); // new Number(0) new Number(0); // new Number(0) new Number(1); // new Number(1) new Number(-1.2); // new Number(-1.2) new Number(Infinity); // new Number(Infinity) new Number(new Number()); // new Number(0) new Number("test"); // new Number(NaN) new Number(" +1.2 "); // new Number(1.2) new Number("0xA"); // new Number(10) new Number("1 test"); // new Number(NaN) new Number("false"); // new Number(NaN) new Number(" "); // new Number(0) new Number(""); // new Number(0) new Number(new String()); // new Number(0) new Number([]); // new Number(0) new Number([0]); // new Number(0) new Number([1]); // new Number(1) new Number([1, 2, 3]); // new Number(NaN) new Number([true]); // new Number(NaN) new Number({}); // new Number(NaN) var obj = {}; obj.valueOf = undefined; obj.toString = undefined; new Number(obj); // TypeError
MAX_VALUE
Jaką największą liczbę można zapisać w JavaScript?
Number.MAX_VALUE
- Wartość:
Number
- największa skończona dodatnia wartość liczbowa (ok. 1.7976931348623157 * 10308)
Zawiera największą skończoną liczbę, jaką można zapisać za pomocą typu Number
. Tej wartości nie można zmienić ani nie będzie dostępna w pętli for-in
.
Przykład Number.MAX_VALUE
Number.MAX_VALUE; // 1.7976931348623157e+308 Number.MAX_VALUE = 1; Number.MAX_VALUE; // 1.7976931348623157e+308
MIN_VALUE
Jaką najmniejszą wartość można zapisać w JavaScript?
Number.MIN_VALUE
- Wartość:
Number
- najmniejsza skończona dodatnia wartość liczbowa (ok. 5 * 10-324)
Zawiera najmniejszą skończoną liczbę, jaką można zapisać za pomocą typu Number
. Tej wartości nie można zmienić ani nie będzie dostępna w pętli for-in
.
Przykład Number.MIN_VALUE
Number.MIN_VALUE; // 5e-324 Number.MIN_VALUE = 1; Number.MIN_VALUE; // 5e-324
NaN
Jak zapisać wartość liczbową, która jednak nie jest poprawną liczbą?
Number.NaN
- Wartość:
Number
- nie-liczba (ang. not-a-number)
Zawiera wartość NaN. Tej wartości nie można zmienić ani nie będzie dostępna w pętli for-in
.
Number.NaN
porównana do dowolnej innej wartości - w tym nawet do Number.NaN
- zawsze zwraca false. Dlatego aby sprawdzić, czy wartość wynosi Number.NaN
, należy użyć funkcji isNaN.
Przykład Number.NaN
Number.NaN; // NaN Number.NaN = 1; Number.NaN; // NaN
NEGATIVE_INFINITY
Jak zapisać ujemną nieskończość w języku JavaScript?
Number.NEGATIVE_INFINITY
- Wartość:
Number
- ujemna nieskończoność
Zawiera wartość -Infinity. Tej wartości nie można zmienić ani nie będzie dostępna w pętli for-in
.
Przykład Number.NEGATIVE_INFINITY
Number.NEGATIVE_INFINITY; // -Infinity Number.NEGATIVE_INFINITY = 1; Number.NEGATIVE_INFINITY; // -Infinity
POSITIVE_INFINITY
Jak zapisać wartość nieskończoną w języku JavaScript?
Number.NEGATIVE_INFINITY
- Wartość:
Number
- dodatnia nieskończoność
Zawiera wartość Infinity. Tej wartości nie można zmienić ani nie będzie dostępna w pętli for-in
.
Przykład Number.POSITIVE_INFINITY
Number.POSITIVE_INFINITY; // Infinity Number.POSITIVE_INFINITY = 1; Number.POSITIVE_INFINITY; // Infinity