Typy zmiennych
W JavaScript istnieje kilka typów zmiennych. Oto one:
Typ | Opis |
---|---|
Number | Typ liczbowy |
String | Typ tekstowy |
Boolean | Typ logiczny |
Null | Pusta zawartość |
Undefined | Typ niezidentyfikowany |
Object | Obiekt |
Function | Wartość zwracana przez funkcję |
Poniżej omawiamy poszczególne typy proste. Typy złożone zostaną opisane nieco później.
Typ liczbowy - Number
Zmienna typu Number może przechowywać liczbę. W odróżnieniu od innych języków programowania nie rozróżniamy tutaj typów liczb całkowitych lub rzeczywistych. Mamy tu do dyspozycji tylko jeden typ liczbowy. Liczby traktowane są wg standardu IEEE 754 dla liczb zmiennoprzecinkowych podwójnej precyzji.
Różne sposoby zapisu liczb
W poniższym przykładzie pokazujemy, jak zadeklarować liczby w różnym zapisie:
var x = 12 // Liczba całkowita var y = 3.1415 // Liczba rzeczywista var z = 12e5 // Liczba 1200000 var u = 12e-5 // Liczba 0.00012
Zapis wyniku 12e5 oznacza liczbę 12 pomnożoną przez 105 (to 12 z pięcioma zerami), natomiast 12e-5 liczbę 12 pomnożoną przez 10-5 (ostatnia cyfra jest na piątym miejscu po przecinku).
Liczba zapisana jest w 64 bitach w następujący sposób:
Bity 0-51 - liczba,
Bity 52-62 - wykładnik,
Bit 63 - znak liczby.
Precyzja zapisu
Liczby całkowite są zapisywane z precyzją do 15 cyfr. Co to oznacza? Zobacz poniższy przykład. W drugim przypadku JavaScript dokonuje konwersji liczby.
Kod
<script> alert(999999999999999); alert(9999999999999999); </script>
Maksymalna liczba miejsc po przecinku wynosi 17, jednakże podczas wykonywania działań na takich liczbach nie możemy mieć pewności takiej precyzji.
Niestety podczas wykonywania obliczeń możemy natknąć się na niemiłą niespodziankę, związaną z precyzją liczb w JavaScript. Oto przykład:
Kod
<script> alert(3*15); //wyświetla 45 alert(1.12*5); //wyświetla 5.6000000000000005 </script>
Trzeba o tym pamiętać podczas pisania programów, szczególnie, gdy wymagana jest odpowiednia precyzja obliczeń.
Później pokażemy jak sobie radzić z tym problemem. Póki co, pokażę małą sztuczkę:
Kod
<script> alert((1.12*5*100)/100); //wyświetla 5.6 </script>
Zapis liczb w systemie szesnastkowym i ósemkowym
JavaScript pozwala zapisywać liczby w systemie szesnastkowym. Zapis takiej liczby rozpoczynamy od 0x lub 0X, po czym zapisujemy liczbę z pomocą znaków 0-9a-fA-F.
Przykład
0x0, 0X2, 0xFFFF, -0xAC
Aby używać systemu ósemkowego, liczbę zapisaną za pomocą cyfr 0-7 poprzedzamy cyfrą 0. Uwaga: Ścisła specyfikacja nie zawiera reprezentacji tego systemu, a i nie wszystkie przeglądarki sobie z nią radzą. Radzę zatem unikać systemu ósemkowego.
Nieskończoność - Infinity
Nieskończoność lub minus nieskończoność (Infinity, -Infinity) jest specjalnym typem liczbowym (Number). JavaScript zwraca tę wartość, gdy wynik obliczeń wybiega poza zakres możliwej do przechowania w systemie liczby lub gdy wykonywane jest dzielenie przez zero.
Kod
<script> alert(10/0); //wyświetla Infinity alert(-10/0); //wyświetla -Infinity </script>
NaN - Not a Number
Ta wartość oznacza, że operacja matematyczna przeprowadzana jest na niewłaściwych danych, takich jak string lub undefined. NaN jest zarezerwowanym słowem na tę okoliczność. Nieco więcej opowiem przy okazji opisu funkcji isNaN.
Kod
<script> alert('ala' / 5); //wyświetla NaN </script>
Liczba jako obiekt
Liczbę można zadeklarować jako obiekt, jednak zdecydowanie nie polecam tej metody z uwagi na znaczne spowolnienie działań programu z takimi deklaracjami. Poza tym zapis taki niepotrzebnie komplikuje kod. Jeżeli jednak jest potrzeba takiej deklaracji, wykonujemy ją tak:
<script> var x = new Number(2); // powstała zmienna obiektowa x z wartością 2 var y = 2; // powstała zmienna y z wartością 2 </script>
Typy zmiennych x i y w powyższym kodzie są różne.
Typ tekstowy - String
Jest to typ zmiennej, która zawiera tekst - ciąg znaków. Wartość ciągu może być łańcuchem zero lub więcej znaków Unicode (liter, cyfr i znaków interpunkcyjnych). Tekst należy ujmować w apostrofy ('...') lub cudzysłowy ("..."). Podwójne znaki cudzysłowu mogą być zawarte w ciągach znaków objętych pojedynczymi znakami cudzysłowu, a znaki pojedynczego cudzysłowu mogą być zawarte w ciągach znaków, ujętych w podwójny cudzysłów.
var s = "Janek" var c = 'Bolek'; var n = "I'am a student" var m = 'Lubię "Gwiezdne Wojny"';
Znaki specjalne
Czasem konieczne jest stosowanie specjalnych sekwencji, które zostały zawarte w poniższej tabeli:
Sekwencja | Znaczenie |
---|---|
\b | Backspace |
\t | Tabulacja |
\n | Nowy wiersz |
\r | Powrót karetki |
\f | Kanał formularza |
\" | Cudzysłów |
\' | Apostrof |
\\ | Ukośnik odwrotny |
Typ logiczny - Boolean
Jest to typ zmiennej, która może przyjmować tylko dwie wartości: True - prawda i False - fałsz. Ten typ będzie z pewnością bardzo często przez ciebie wykorzystywany, szczególnie w instrukcjach warunkowych.
Typ null
Jest to typ danych, który ma tylko jedną wartość - null, czyli nic, pusty.
Przypisanie wartości null zmiennej powoduje wymazanie jej wartości.
Null nie oznacza wartości zero, co jest dość istotne, jeżeli jesteś przyzwyczajony do języka C, C++.
Typ undefined
Typ ten jest zwracany w przypadku odwoływania się do właściwości nieistniejącego obiektu, a także w przypadku, gdy odwołujemy się do zmiennej, której nie przypisano wartości, tak jak to widać w poniższym kodzie.
Kod
<script> var a; alert(a); //wyświetla Undefined </script>
Inne zagadnienia z tej lekcji
Zmienne w JavaScript
Kurs JavaScript - zmienne. Tworzenie zmiennej w JavaScript polega na deklaracji zmiennej (utworzeniu jej) i przypisanie jej nazwy. Za deklarację zmiennej odpowiada słowo kluczowa var.
Operatory
Operatory w JavaScript. Operatory służą między innymi do wykonywania działań na zmiennych i stałych, porównywania ich wartości, przypisywania wartości.
© medianauka.pl, 2016-11-01, A-3236