ES6 - liczba
Obiekt Number reprezentuje datę liczbową, liczby całkowite lub zmiennoprzecinkowe. Ogólnie rzecz biorąc, nie musisz martwić się o obiekty Number, ponieważ przeglądarka automatycznie konwertuje literały liczbowe na wystąpienia klasy liczb.
Poniżej przedstawiono składnię tworzenia obiektu liczbowego.
var val = new Number(number);
W miejscu number, jeśli podasz argument niebędący liczbą, nie można go przekonwertować na number, zwraca NaN (Not-a-Number).
Właściwości liczbowe
Sr.No | Właściwość i opis |
---|---|
1 | Number.EPSILON Najmniejszy odstęp między dwiema reprezentowalnymi liczbami. |
2 | Number.MAX_SAFE_INTEGER Maksymalna bezpieczna liczba całkowita w JavaScript (2 ^ 53 - 1). |
3 | Number.MAX_VALUE Największa dodatnia możliwa do przedstawienia liczba. |
4 | MIN_SAFE_INTEGER Minimalna bezpieczna liczba całkowita w JavaScript (- (2 ^ 53 - 1)). |
5 | Number.MIN_VALUE Najmniejsza reprezentowalna liczba dodatnia - to znaczy liczba dodatnia najbliższa zeru (nie będąca w rzeczywistości zerem) |
6 | Number.Nan Specjalna wartość „nie jest liczbą” |
7 | Liczba.NEGATIVE_INFINITY Specjalna wartość reprezentująca ujemną nieskończoność; zwrócony przy przepełnieniu |
8 | Numer.POSITIVE_INFINITY Specjalna wartość reprezentująca nieskończoność; zwrócony przy przepełnieniu |
9 | Number.prototype Specjalna wartość reprezentująca nieskończoność; zwrócony przy przepełnieniu |
Metody liczbowe
Sr.No | Metoda i opis |
---|---|
1 | Number.isNaN () Określa, czy przekazana wartość to NaN. |
2 | Number.isFinite () Określa, czy przekazana wartość jest liczbą skończoną. |
3 | Number.isInteger () Określa, czy przekazana wartość jest liczbą całkowitą. |
4 | Number.isSafeInteger () Określa, czy przekazana wartość jest bezpieczną liczbą całkowitą (liczba z przedziału od - (253 - 1) do 253 - 1) |
5 | Number.parseFloat () Wartość jest taka sama jak parseFloat () obiektu globalnego |
6 | Number.parseInt () Wartość jest taka sama, jak parseInt () obiektu globalnego |
Metody instancji liczbowych
Obiekt Number zawiera tylko domyślne metody, które są częścią definicji każdego obiektu.
Sr.No | Metoda i opis instancji |
---|---|
1 | toExponential () Zwraca ciąg znaków reprezentujący liczbę w notacji wykładniczej |
2 | toFixed () Zwraca ciąg reprezentujący liczbę w notacji stałoprzecinkowej |
3 | toLocaleString () Zwraca ciąg z reprezentacją tej liczby zależną od języka |
4 | toPrecision () Zwraca ciąg reprezentujący liczbę z określoną precyzją w notacji stałoprzecinkowej lub wykładniczej |
5 | toString () Zwraca ciąg reprezentujący określony obiekt w określonej podstawie (podstawie) |
6 | wartość() Zwraca pierwotną wartość określonego obiektu. |
Literały binarne i ósemkowe
Przed ES6 najlepszym rozwiązaniem, jeśli chodzi o binarną lub ósemkową reprezentację liczb całkowitych, było po prostu przekazanie ich do parseInt () z podstawą. W ES6 można użyć przedrostków 0b i 0o do reprezentowania odpowiednio binarnych i ósemkowych literałów całkowitych. Podobnie, aby przedstawić wartość szesnastkową, użyj0x prefiks.
Prefiks można zapisać dużymi lub małymi literami. Zaleca się jednak trzymanie się wersji pisanej małymi literami.
Example − Binary Representation
console.log(0b001)
console.log(0b010)
console.log(0b011)
console.log(0b100)
Poniższe dane wyjściowe są wyświetlane po pomyślnym wykonaniu powyższego kodu.
1
2
3
4
Example − Octal Representation
console.log(0o010)
console.log(0o100)
Poniższe dane wyjściowe są wyświetlane po pomyślnym wykonaniu powyższego kodu.
8
64
Example − Hexadecimal Representation
console.log(0o010)
console.log(0o100)
Poniższe dane wyjściowe są wyświetlane po pomyślnym wykonaniu powyższego kodu.
255
384
Dosłowne rozszerzenie obiektu
ES6 wprowadza następujące syntax changes w deklaracji literałów obiektowych.
- Składnia inicjatora właściwości obiektu
- Obliczona składnia właściwości
- Zwięzła składnia metody
Inicjator właściwości obiektu
W object property initializer syntax, możemy zainicjować obiekt bezpośrednio zmiennymi. Spowoduje to utworzenie atrybutów, które mają taką samą nazwę jak nazwy zmiennych.
<script>
let firstName = 'Tutorials',lastName='Point'
let company = {
firstName,
lastName
}
console.log(company)
console.log(company.firstName)
console.log(company.lastName)
</script>
Wynik powyższego kodu będzie taki, jak podano poniżej -
{firstName: "Tutorials", lastName: "Point"}
Tutorials
Point
Obliczone właściwości
W computed properties syntaxwłaściwość obiektu można dynamicznie tworzyć ze zmiennych. W poniższym przykładzie zmienna o nazwiesuffix służy do obliczania company obiekt.
<script>
let suffix = 'Name'
let company = {
['first'+suffix]:'Tutorials',
['last'+suffix]:'Point'
}
console.log(company)
console.log(company['firstName'])
console.log(company['lastName'])
</script>
Wynik powyższego kodu będzie taki, jak pokazano poniżej -
{firstName: "Tutorials", lastName: "Point"}
Tutorials
Point
W Concise method syntax możemy użyć i zadeklarować metodę bezpośrednio, bez użycia functionsłowo kluczowe. Jest to uproszczona składnia zawierająca funkcje w literałach obiektów.
<script>
let firstName = 'Tutorials',lastName='Point'
let company = {
firstName,
lastName,
getFullName(){
return this.firstName+" - "+this.lastName
}
}
console.log(company.getFullName())
console.log(company)
</script>
Wynik powyższego kodu będzie taki, jak wspomniano poniżej -
Tutorials - Point
{firstName: "Tutorials", lastName: "Point", getFullName: ƒ}