Number() konwertuje na liczbę, String() konwertuje do String, Boolean() przekształca się w logiczną.
Typy danych JavaScript
W JavaScript jest 5 różnych typów danych, które mogą zawierać wartości:
- string
- number
- boolean
- object
- function
Istnieją 3 rodzaje obiektów:
- Object
- Date
- Array
A 2 typy danych, które nie mogą zawierać wartości:
- null
- undefined
typeof Operator
Można użyć typeof operator znaleźć typ danych zmiennej JavaScript.
Przykład
typeof "John"
// Returns string
typeof 3.14
// Returns number
typeof NaN
// Returns number
typeof false
// Returns boolean
typeof [1,2,3,4] // Returns object
typeof {name:'John', age:34}
// Returns object
typeof new Date()
// Returns object
typeof function () {} // Returns function
typeof myCar
// Returns undefined (if myCar is not declared)
typeof null
// Returns object
Spróbuj sam " Proszę zwrócić uwagę:
- Typ danych NaN jest numerem
- Typ danych w array jest przedmiotem
- Typ danych na date jest przedmiotem
- Typ danych null jest przedmiotem
- Typ danych o undefined zmiennej jest niezdefiniowany
Nie można używać typeof w celu ustalenia, czy obiekt JavaScript jest tablicą (lub daty).
Typ danych typeof
typeof operator nie jest zmienną. Jest to operator. Operatorzy ( + - * / ) nie mają żadnego typu danych.
Ale, typeof operator zawsze zwraca łańcuch zawierający typ argumentu.
constructor obiektu
constructor właściwość zwraca funkcję konstruktora dla wszystkich zmiennych JavaScript.
Przykład
"John".constructor
// Returns function String() { [native code] }
(3.14).constructor
// Returns function Number() { [native code] }
false.constructor
// Returns function Boolean() { [native code] }
[1,2,3,4].constructor
// Returns function Array() { [native code] }
{name:'John', age:34}.constructor
// Returns function Object() { [native code] }
new Date().constructor
// Returns function Date() { [native code] }
function () {}.constructor
// Returns function Function(){ [native code] }
Spróbuj sam " Można sprawdzić właściwość konstruktora, aby dowiedzieć się, czy dany przedmiot jest Array (zawiera słowo "Array" ):
Przykład
function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array") > -1;
}
Spróbuj sam " Można sprawdzić właściwość konstruktora, aby dowiedzieć się, czy dany przedmiot jest data (zawiera słowo "Date" ):
Przykład
function isDate(myDate) {
return myDate.constructor.toString().indexOf("Date") > -1;
}
Spróbuj sam " JavaScript Type Conversion
Obsługa JavaScript zmienne mogą być konwertowane do nowej zmiennej i innego typu danych:
- Dzięki zastosowaniu funkcji JavaScript
- Automatycznie przez samą JavaScript
Konwersja liczb na łańcuchy
Metoda globalna String() można przekonwertować numery do strun.
Może być stosowany na wszelkiego rodzaju liczb, literałów, zmiennych lub wyrażeń:
Przykład
String(x) // returns a string from a number variable x
String(123) // returns a string from a number literal 123
String(100 + 23) // returns a string from a number from an expression
Spróbuj sam " Metoda Ilość toString() robi to samo.
W rozdziale Metody Liczba znajdziesz więcej sposobów, które można wykorzystać do konwersji liczb na łańcuchy:
metoda | Opis |
---|---|
toExponential() | Zwraca ciąg znaków, z liczbą zaokrągloną i piśmie używając notacji wykładniczej. |
toFixed() | Zwraca ciąg znaków, z liczbą zaokrągloną i napisany z określonej liczby miejsc po przecinku. |
toPrecision() | Zwraca ciąg znaków, z numerem wpisanym o określonej długości |
Konwersja logicznych na łańcuchy
Metoda globalna String() można przekonwertować wartości logicznych na łańcuchy.
String(false) // returns "false"
String(true) // returns "true"
Metoda Boolean toString() robi to samo.
false.toString() // returns "false"
true.toString() // returns "true"
Konwersja daty, aby Strings
Metoda globalna String() można przekonwertować daty, aby strun.
String(Date()) // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
Metoda Data toString() robi to samo.
Przykład
Date().toString() // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
W rozdziale nowoczesnych metod , znajdziesz więcej sposobów, które można wykorzystać do konwersji dat na ciągi:
metoda | Opis |
---|---|
getDate() | Get dzień jako liczbę (1-31) |
getDay() | Uzyskaj dzień tygodnia numer (0-6) |
getFullYear() | Uzyskaj rok czterocyfrowy (yyyy) |
getHours() | Pobierz godzinę (0-23) |
getMilliseconds() | Uzyskać milisekund (0-999) |
getMinutes() | Uzyskać minut (0-59) |
getMonth() | Uzyskaj miesiąc (0-11) |
getSeconds() | Uzyskać sekund (0-59) |
getTime() | Pobiera czas (milisekund od 1 stycznia 1970) |
Konwersja Struny do numerów
Globalny Metoda Number() można przekonwertować ciągi do liczb.
Struny zawierające numery (jak "3.14" ) przekształcić na liczby (np 3.14).
Puste struny konwersji 0.
Wszystko inne jest konwertowany na NaN (Not a Number).
Number("3.14") // returns 3.14
Number(" ") // returns 0
Number("") // returns 0
Number("99 88") // returns NaN
W rozdziale Metody Liczba znajdziesz więcej sposobów, które można wykorzystać do konwersji ciągów znaków na liczby:
metoda | Opis |
---|---|
parseFloat() | Przetwarza ciąg i zwraca liczbę zmiennoprzecinkową |
parseInt() | Przetwarza ciąg i zwraca liczbę całkowitą |
Jednoargumentowych + Operator
Jednoargumentowa + operatora może być wykorzystywany do konwersji zmienną liczbą:
Jeśli zmienna nie mogą być zamienione, to nadal stać się liczba, ale o wartości NaN (nie liczba):
Konwersja logicznych na liczbach
Globalny Metoda Number() można również konwertować wartości logicznych z numerami.
Number(false) // returns 0
Number(true) // returns 1
Konwersja daty, aby Numbers
Metoda globalna
d = new Date();
Number(d) // returns 1404568027739
Metoda data getTime() robi to samo.
d = new Date();
d.getTime() // returns 1404568027739
Automatyczna konwersja typu
Gdy JavaScript próbuje działać na "źle" typ danych, będzie starał się przekształcić wartość na "prawo" typu.
Wynik nie zawsze jest tym, czego się spodziewać:
5 + null // returns 5
because null is converted to 0
"5" + null // returns "5null"
because null is converted to "null"
"5" + 2 // returns
52
because 2 is converted to "2"
"5" - 2 // returns 3
because "5" is converted to 5
"5" * "2" // returns
10 because "5" and "2" are
converted to 5 and 2
Spróbuj sam " Automatyczna konwersja String
JavaScript automatycznie wywołuje zmiennej toString() funkcję podczas próby "wydajność" obiekt lub zmienną:
document.getElementById("demo").innerHTML = myVar;
// if myVar = {name:"Fjohn"} // toString converts to "[object Object]"
// if myVar = [1,2,3,4] // toString converts to "1,2,3,4"
// if myVar = new Date() // toString converts to "Fri Jul 18 2014 09:08:55 GMT+0200"
Liczby i wartości logiczne są zamienione, co nie jest bardzo widoczny:
// if myVar = 123 // toString converts to "123"
// if myVar = true // toString converts to "true"
// if myVar = false // toString converts to "false"
Tabela JavaScript Type Conversion
Poniższa tabela przedstawia wynik konwersji różnych wartości JavaScript w Number, String i Boolean:
Oryginalny Wartość | Budynek w Number | Budynek String | Budynek na Boolean | Spróbuj |
---|---|---|---|---|
false | 0 | "false" | false | Spróbuj " |
true | 1 | "true" | true | Spróbuj " |
0 | 0 | "0" | false | Spróbuj " |
1 | 1 | "1" | true | Spróbuj " |
"0" | 0 | "0" | true | Spróbuj " |
"1" | 1 | "1" | true | Spróbuj " |
NaN | NaN | "NaN" | false | Spróbuj " |
Infinity | Infinity | "Infinity" | true | Spróbuj " |
-Infinity | -Infinity | "-Infinity" | true | Spróbuj " |
"" | 0 | "" | false | Spróbuj " |
"20" | 20 | "20" | true | Spróbuj " |
"twenty" | NaN | "twenty" | true | Spróbuj " |
[ ] | 0 | "" | true | Spróbuj " |
[20] | 20 | "20" | true | Spróbuj " |
[10,20] | NaN | "10,20" | true | Spróbuj " |
["twenty"] | NaN | "twenty" | true | Spróbuj " |
["ten","twenty"] | NaN | "ten,twenty" | true | Spróbuj " |
function(){} | NaN | "function(){}" | true | Spróbuj " |
{ } | NaN | "[object Object]" | true | Spróbuj " |
null | 0 | "null" | false | Spróbuj " |
undefined | NaN | "undefined" | false | Spróbuj " |
Wartości w cudzysłowie wskazują wartości ciągów.
Czerwone wartości wskazują wartości (niektóre) programiści nie mogą się spodziewać.