Najnowsze tutoriale tworzenie stron internetowych
 

JavaScript Typ konwersji


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.

Przykład

x.toString()
(123).toString()
(100 + 23).toString()
Spróbuj sam "

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ą:

Przykład

var y = "5";      // y is a string
var x = + y;      // x is a number
Spróbuj sam "

Jeśli zmienna nie mogą być zamienione, to nadal stać się liczba, ale o wartości NaN (nie liczba):

Przykład

var y = "John";   // y is a string
var x = + y;      // x is a number (NaN)
Spróbuj sam "

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 Ilość () może być stosowany do konwersji daty z numerami.

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
false0"false"false Spróbuj "
true1"true"true Spróbuj "
00"0"false Spróbuj "
11"1"true Spróbuj "
"0"0"0"true Spróbuj "
"1"1"1"true Spróbuj "
NaNNaN"NaN"false Spróbuj "
InfinityInfinity"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 "
null0"null"false Spróbuj "
undefinedNaN"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ć.