En son web geliştirme öğreticiler
 

JavaScript Tür Dönüşümü


Number() bir sayısı dönüştürür, String() bir String dönüştürür, Boolean() bir Boolean dönüştürür.


JavaScript Veri Türleri

JavaScript'inizde değerler içerebilir 5 farklı veri türleri vardır:

  • string
  • number
  • boolean
  • object
  • function

Nesnelerin 3 tipi vardır:

  • Object
  • Date
  • Array

Ve 2 veri tipleri değerleri içeren olamayacağını:

  • null
  • undefined

typeof Operatör

Sen kullanabilirsiniz typeof bir JavaScript değişkeni veri türünü bulmak için operatörü.

Örnek

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
Kendin dene "

dikkat edin:

  • Veri türü NaN sayıdır
  • Bir veri türü array amacı,
  • Bir veri türü date nesnesidir
  • Veri türü null amacı,
  • Bir veri türü undefined değişken tanımsız

Sen kullanamaz typeof bir JavaScript nesnesidir bir dizi olup olmadığını belirlemek için (or a date) .


Veri Türü typeof

typeof operatörü değişken değildir. Bu bir operatörüdür. Operatörler ( + - * / ) herhangi bir veri türü yoktur.

Ama, typeof operatörü daima işlenen türünü içeren bir dize döndürür.


constructor Mülkiyet

constructor özelliği tüm JavaScript değişkenleri için yapıcı işlevini döndürür.

Örnek

"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] }
Kendin dene "

Bir nesne bir Array olup olmadığını öğrenmek için yapıcı özelliğini kontrol edebilirsiniz (contains the word "Array" ) :

Örnek

function isArray(myArray) {
    return myArray.constructor.toString().indexOf("Array") > -1;
}
Kendin dene "

Bir nesnenin, tarihi olmadığını öğrenmek için yapıcı özelliğini kontrol edebilirsiniz (contains the word "Date" ) :

Örnek

function isDate(myDate) {
    return myDate.constructor.toString().indexOf("Date") > -1;
}
Kendin dene "

JavaScript Tipi Dönüşüm

JavaScript'in değişkenleri yeni bir değişken ve başka veri türüne dönüştürülebilir:

  • bir JavaScript işlevini kullanarak
  • Otomatik JavaScript kendisi tarafından

Strings için Numaraları dönüştürme

Küresel yöntem String() dizeleri numaralar dönüştürebilirsiniz.

Bu sayılar, değişmezleri, değişkenler veya ifadeleri her türlü kullanılabilir:

Örnek

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
Kendin dene "

Sayı yöntemi toString() aynı işi yapar.

Örnek

x.toString()
(123).toString()
(100 + 23).toString()
Kendin dene "

Bölüm ise Numara Yöntemleri , sen dizeleri numaralar dönüştürmek için kullanılabilir daha yöntemleri bulacaksınız:

Yöntem Açıklama
toExponential() yuvarlak ve üstel gösterimi kullanılarak yazılmış bir sayı ile, bir dize döndürür.
toFixed() ondalık belirli bir sayı ile yuvarlanır ve yazılı bir sayı ile, bir dize döndürür.
toPrecision() Belirtilen uzunlukta yazılmış bir sayı ile, bir dize döndürür

Strings için gibi Boolean dönüştürme

Küresel yöntem String() dizeleri Boolean dönüştürebilirsiniz.

String(false)        // returns "false"
String(true)         // returns "true"

Boolean yöntem toString() aynı işi yapar.

false.toString()     // returns "false"
true.toString()      // returns "true"

Strings için Tarihlerini dönüştürme

Küresel yöntem String() dizeleri için tarihleri dönüştürebilirsiniz.

String(Date())      // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

Tarih yöntemi toString() aynısını yapar.

Örnek

Date().toString()   // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

Bölüm ise tarihi Yöntemleri , sen dizeleri için tarihleri dönüştürmek için kullanılabilir daha yöntemleri bulacaksınız:

Yöntem Açıklama
getDate() Sayı olarak gününüz (1-31)
getDay() Deadline haftanın bir numarası alın (0-6)
getFullYear() Dört basamaklı yıl Get (yyyy)
getHours() Saat alın (0-23)
getMilliseconds() Milisaniye alın (0-999)
getMinutes() Dakikalar alın (0-59)
getMonth() Ayınız (0-11)
getSeconds() Saniye alın (0-59)
getTime() Zaman alın (milliseconds since January 1, 1970)

Numaralar Dizge Dönüşümleri

Küresel yöntem Number() sayılara dizeleri dönüştürebilir.

Sayı içeren dizeleri (like "3.14" ) numaralara dönüştürmek (like 3.14) .

Boş dizeleri 0'a dönüştürün.

Başka bir şey dönüşür NaN (Not a number) .

Number("3.14")    // returns 3.14
Number(" ")       // returns 0
Number("")        // returns 0
Number("99 88")   // returns NaN

Bölüm ise Numara Yöntemleri , Sayıya dizeleri dönüştürmek için kullanılabilir daha yöntemleri bulacaksınız:

Yöntem Açıklama
parseFloat() bir dize ayrıştırır ve bir kayan noktalı sayı döndürür
parseInt() bir dize ayrıştırır ve bir tamsayı döndürür

Birli + Operatör

Tekli + operatörü bir sayıya bir değişken dönüştürmek için kullanılabilir:

Örnek

var y = "5";      // y is a string
var x = + y;      // x is a number
Kendin dene "

Değişken dönüştürülemez, hala ancak değer NaN ile, bir numara olacak (Not a number) :

Örnek

var y = "John";   // y is a string
var x = + y;      // x is a number (NaN)
Kendin dene "

Numaralar gibi Boolean dönüştürme

Küresel yöntem Number() ayrıca sayılara boole dönüştürebilirsiniz.

Number(false)     // returns 0
Number(true)      // returns 1

Numaralar Tarihlerini dönüştürme

küresel yöntem Number() numaralara tarihleri dönüştürmek için kullanılabilir.

d = new Date();
Number(d)          // returns 1404568027739

Tarih yöntemi getTime() aynısını yapar.

d = new Date();
d.getTime()        // returns 1404568027739

Otomatik Tip Dönüştürme

JavaScript üzerinde işlem çalıştığında "wrong" veri türü, bir değer dönüştürmek için çalışacağız "right" tipi.

Sonuç beklediğiniz her zaman değil:

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
Kendin dene "

Otomatik Dize Dönüşüm

JavaScript otomatik değişkenin çağıran toString() Eğer çalıştığınızda işlevini "output" bir nesneyi veya bir değişken:

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"

Sayılar ve mantıksal ayrıca dönüştürülür, ama bu çok görünür değil:

// if myVar = 123             // toString converts to "123"
// if myVar = true            // toString converts to "true"
// if myVar = false           // toString converts to "false"

JavaScript Tipi Dönüşüm Tablosu

Bu tablo Number, String ve Boolean farklı JavaScript değerlerini dönüştürme sonucunu gösterir:

orijinal
değer
dönüştürülmüş
sayısı
dönüştürülmüş
string
dönüştürülmüş
Boolean
Dene
false0"false"false Dene "
true1"true"true Dene "
00"0"false Dene "
11"1"true Dene "
"0"0"0"true Dene "
"1"1"1"true Dene "
NaNNaN"NaN"false Dene "
InfinityInfinity"Infinity"true Dene "
-Infinity-Infinity"-Infinity"true Dene "
""0""false Dene "
"20"20"20"true Dene "
"twenty"NaN"twenty"true Dene "
[ ]0""true Dene "
[20]20"20"true Dene "
[10,20]NaN"10,20"true Dene "
["twenty"]NaN"twenty"true Dene "
["ten","twenty"]NaN"ten,twenty"true Dene "
function() {}NaN" function() {}"true Dene "
{ }NaN"[object Object]"true Dene "
null0"null"false Dene "
undefinedNaN"undefined"false Dene "

Tırnak içindeki değerler dize değerleri göstermektedir.

Kırmızı değerler değerler göstermektedir (some) programcılar bekliyoruz olmayabilir.