JavaScript Tür Dönüşümü
Number()
转换数值,String()
转换字符串,Boolean()
转换布尔值。
JavaScript Veri Tipleri
JavaScript 中有五种可包含值的数据类型:
- 字符串(string)
- 数字(number)
- 布尔(boolean)
- 对象(object)
- 函数(function)
有三种对象类型:
- 对象(Object)
- 日期(Date)
- 数组(Array)
同时有两种不能包含值的数据类型:
- null
- undefined
typeof 运算符
您可以使用 typeof
运算符来确定 JavaScript 变量的数据类型。
örnek
typeof "Bill" // Dönüş "string" typeof 3.14 // Dönüş "number" typeof NaN // Dönüş "number" typeof false // döndürür "boolean" typeof [1,2,3,4] // döndürür "object" typeof {name:'Bill', age:62} // döndürür "object" typeof new Date() // döndürür "object" typeof function () {} // döndürür "function" typeof myCar // döndürür "undefined" * typeof null // döndürür "object"
Lütfen dikkat edin:
- NaN veri türü sayısaldır
- dizi veri türü nesnedir
- tarih veri türü nesnedir
- null veri türü nesnedir
- tanımlanmamış değişkenin veri türü undefined
- tanımlanmamış değişkenin veri türü de undefined
kullanamazsınız typeof
JavaScript nesnelerinin dizgi (veya tarih) olup olmadığını belirlemek için kullanılır.
typeof veri türleri
typeof
işlevsel operatör değişken değil. Bu, bir operatördür. Operatör (örneğin +
-
*
/
)veri türü yoktur.
ancak,typeof
her zamandizgi döndürür(işlevsel verinin türü).
constructor özelliği
constructor
所有 JavaScript değişkenlerinin yapılandırıcı fonksiyonlarını döndüren özellik.
örnek
"Bill".constructor // döndürür "function String() { [native code] }" (3.14).constructor // döndürür "function Number() { [native code] }" false.constructor // döndürür "function Boolean() { [native code] }" [1,2,3,4].constructor // döndürür "function Array() { [native code] }" {name:'Bill', age:62}.constructor // döndürür "function Object() { [native code] }" new Date().constructor // "function Date() { [native code] }" döndürür" function () {}.constructor // "function Function(){ [native code] }" döndürür"
kontrol edebilirsiniz: constructor
özniteliklerini kullanarak belirli bir nesnenin dizgi olup olmadığını belirlemek için:
örnek
function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; }
veya daha basit, nesnenin dizgi fonksiyonlu olup olmadığını kontrol edebilirsiniz:
örnek
function isArray(myArray) { return myArray.constructor === Array; }
kontrol edebilirsiniz: constructor
özniteliklerini kullanarak belirli bir nesnenin tarih olup olmadığını belirlemek için:
örnek
function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; }
veya daha basit, nesnenin tarih fonksiyonlu olup olmadığını kontrol edebilirsiniz:
örnek
function isDate(myDate) { return myDate.constructor === Date; }
JavaScript Tür Dönüşümü
JavaScript değişkenleri, yeni bir değişken ve başka bir veri türüne dönüştürülebilir:
- JavaScript fonksiyonlarını kullanarak
- JavaScript kendisi ileOtomatikDönüştürme
Sayısal değerleri dizgeye dönüştürür
Küresel yöntem String()
Sayıları dizgeye dönüştürebilir.
Bu, herhangi bir türdeki sayı, metin, değişken veya ifade için kullanılabilir:
örnek
String(x) // Sayısal değişken x'yi dizgeye dönüştürür String(123) // Sayısal metin 123'ü dizgeye dönüştürür String(100 + 23) // İfade içindeki sayısal değerleri dizgeye dönüştürür
sayı yöntemleri toString()
Aynı şekilde.
örnek
x.toString() (123).toString() (100 + 23).toString()
içindesayı yöntemleriBu bölümde, sayısal değerleri dizgeye dönüştürmek için kullanılabilen daha fazla yöntem öğreneceksiniz:
yöntem | tanım |
---|---|
toExponential() | Dizgi döndürür, sayıyı yuvarlar ve sayısal ifade yöntemiyle yazdırır. |
toFixed() | Dizgi döndürür, sayıyı yuvarlar ve belirli ondalık basamaklarla yazdırır. |
toPrecision() | Dizgi döndürür, sayıyı belirtilen uzunluğa yazdırır. |
booleyi dizgeye dönüştür
Küresel yöntem String()
booleyi dizgeye dönüştürebilir.
String(false) // return "false" String(true) // return "true"
boole methodları toString()
Aynı şekilde.
false.toString() // return "false" true.toString() // return "true"
tarihi dizgeye dönüştür
Küresel yöntem String()
tarihi dizgeye dönüştürebilir.
String(Date())
Tarih yöntemleri toString()
Aynı şekilde.
örnek
Date().toString()
içindeTarih yöntemleriBu bölümde, tarihleri dizgeye dönüştürmek için kullanılabilir daha fazla yöntem bulacaksınız:
yöntem | tanım |
---|---|
getDate() | sayısal olarak(1-31)günü alır |
getDay() | veya sayısal olarak(0-6)haftayı alır |
getFullYear() | dört haneli yılı alır(yyyy) |
getHours() | saati alır(0-23) |
getMilliseconds() | milisaniyeyi alır(0-999) |
getMinutes() | dakikayı alır(0-59) |
getMonth() | ayı alır(0-11) |
getSeconds() | saniyeyi alır(0-59) |
getTime() | zamanı alır(1970 yılının 1 Ocak'ından bu yana milisaniye olarak) |
dizgeyi sayıya dönüştür
Küresel yöntem Number()
dizgeyi sayıya dönüştürebilir.
sayı içeren dizgeler(örneğin "3.14")sayıya(örneğin 3.14'e)dönüştürülür.
boş dizge 0'ya dönüştürülür.
diğer dizgeler NaN
(Not a number,不是数字)。
Number("3.14") // return 3.14 Number(" ") // return 0 Number("") // return 0 Number("99 88") // return NaN
içindesayı yöntemleriBu bölümde, dizgeyi sayıya dönüştürmek için kullanılabilir daha fazla yöntem bulacaksınız:
yöntem | tanım |
---|---|
parseFloat() | dizgeyi çözümleyip ondalık sayı döndürür. |
parseInt() | dizgeyi çözümleyip tamsayı döndürür. |
tekli + işlevi
tekli +
işlevdeğişkenleri sayıya dönüştürmek için kullanılabilir:
örnek
var y = "5"; // y 是字符串 var x = + y; // x 是数字
değişkeni dönüştüremezseniz, hala sayı olarak kalır, ancak değeri NaN
(Not a number):
örnek
var y = "Bill"; // y 是字符串 var x = + y; // x sayıdır (NaN)
Booleans'ı sayıya dönüştür
Küresel yöntem Number()
Booleans'ı da numaraya dönüştürebilir.
Number(false) // 0 döner Number(true) // 1 döner
Tarihleri sayıya dönüştür
Küresel yöntem Number()
Tarihleri sayıya dönüştürmek için kullanılabilir.
d = new Date(); Number(d)
Tarih yöntemleri getTime()
Aynı şekilde.
d = new Date(); d.getTime()
Otomatik tür dönüşümü
JavaScript, bir "hatalı" veri türünü işlemeye çalışırsa, bu değeri "doğru" türüne dönüştirmeye çalışır.
Sonuç her zaman beklediğiniz gibi olmayabilir:
5 + null // 5 döner çünkü null 0'a çevrildi "5" + null // "5null" döner çünkü null "null"'e çevrildi "5" + 2 // 52 döner çünkü 2 "2"'ye çevrildi "5" - 2 // 3 döner çünkü "5" 5'e çevrildi "5" * "2" // 10 döner çünkü "5" ve "2" 5 ve 2'ye çevrildi
otomatik string dönüşümü
JavaScript, değişkenlerin toString()
Bu fonksiyon, sizi "çıkartmaya" çalışan nesneler veya değişkenler zamanında çalıştırır:
document.getElementById("demo").innerHTML = myVar; // Eğer myVar = {name:"Fjohn"} // toString çevirisi "[object Object]" // Eğer myVar = [1,2,3,4] // toString çevirisi "1,2,3,4" // Eğer myVar = new Date() // toString çevirisi ""
Sayı ve boolean da çevrilecektir, ancak belirgin olmayacaktır:
// Eğer myVar = 123 // toString çevirisi "123" // Eğer myVar = true // toString çevirisi "true" // Eğer myVar = false // toString çevirisi "false"
JavaScript Tür Çevirme Tablosu
Aşağıdaki tabloda farklı JavaScript değerlerinin sayısal, dizgi ve boolean olarak dönüştürülme sonuçları listelenmiştir:
Orijinal Değer | Sayısal olarak dönüştür | Dizgi olarak dönüştür | Lojik olarak dönüştür | Deneyin |
---|---|---|---|---|
false | 0 | "false" | false | Deneyin |
true | 1 | "true" | true | Deneyin |
0 | 0 | "0" | false | Deneyin |
1 | 1 | "1" | true | Deneyin |
"0" | 0 | "0" | true |
Deneyin |
"000" | 0 | "000" | true |
Deneyin |
"1" | 1 | "1" | true | Deneyin |
NaN | NaN | "NaN" | false | Deneyin |
Infinity | Infinity | "Infinity" | true | Deneyin |
-Infinity | -Infinity | "-Infinity" | true | Deneyin |
"" | 0 |
"" | false |
Deneyin |
"20" | 20 | "20" | true | Deneyin |
"twenty" | NaN | "twenty" | true | Deneyin |
[ ] | 0 |
"" | true | Deneyin |
[20] | 20 |
"20" | true | Deneyin |
[10,20] | NaN | "10,20" | true | Deneyin |
["twenty"] | NaN | "twenty" | true | Deneyin |
["on","twenty"] | NaN | "on,twenty" | true | Deneyin |
function(){} | NaN | "function(){}" | true | Deneyin |
{ } | NaN | "[object Object]" | true | Deneyin |
null | 0 |
"null" | false | Deneyin |
undefined | NaN | "undefined" | false | Deneyin |
Çift tırnak içindeki değerler dizgi değerlerini belirtir.
Kırmızı DeğerBazı programcıların istemediği değerleri belirtir.