JavaScript türü
JavaScript'te değerler içerebilen 5 farklı veri türü vardır:
string
number
boolean
object
function
6 tür nesne vardır:
Object
Date
Array
String
Number
Boolean
Ve değer içeremeyen 2 veri türü:
null
undefined
Operatör tipi
typeof
Bir JavaScript değişkeninin veri türünü bulmak için operatörü kullanabilirsiniz .
Ö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" *
typeof null
// Returns "object"
Lütfen dikkat edin:
- NaN'nin veri türü sayıdır
- Bir dizinin veri türü nesnedir
- Bir tarihin veri türü nesnedir
- null veri türü nesnedir
- Tanımsız bir değişkenin veri türü tanımsızdır *
- Değer atanmamış bir değişkenin veri türü de tanımsızdır *
typeof
JavaScript nesnesinin bir dizi (veya tarih) olup olmadığını belirlemek için kullanamazsınız .
İlkel Veri
İlkel veri değeri, hiçbir ek özellik ve yöntem içermeyen tek bir basit veri değeridir.
Operatör şu typeof
ilkel türlerden birini döndürebilir:
string
number
boolean
undefined
Örnek
typeof "John" // Returns
"string"
typeof 3.14 // Returns
"number"
typeof true // Returns
"boolean"
typeof false // Returns
"boolean"
typeof x
// Returns "undefined" (if x has no value)
Karmaşık Veri
Operatör , typeof
iki karmaşık türden birini döndürebilir:
function
object
Operatör , typeof
nesneler, diziler ve null için "nesne" döndürür.
Operatör , typeof
işlevler için "nesne" döndürmez.
Örnek
typeof {name:'John', age:34} // Returns "object"
typeof [1,2,3,4]
// Returns "object" (not "array", see note below)
typeof null // Returns
"object"
typeof function myFunc(){} // Returns "function"
JavaScript'te diziler nesneler olduğundan, operatör diziler için " " döndürür typeof
.object
typeof veri türü
typeof
Operatör bir değişken değildir . Operatördür. Operatörler ( + - * / ) herhangi bir veri tipine sahip değildir.
Ancak typeof
operatör her zaman (işlenenin türünü içeren) bir dize döndürür .
yapıcı Özellik
Özellik constructor
, 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]}
Bir nesnenin Array
("Dizi" kelimesini içerir) olup olmadığını öğrenmek için yapıcı özelliğini kontrol edebilirsiniz:
Örnek
function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array") > -1;
}
Veya daha da basiti, nesnenin bir Array işlevi olup olmadığını kontrol edebilirsiniz :
Örnek
function isArray(myArray) {
return myArray.constructor
=== Array;
}
Bir nesnenin a olup olmadığını öğrenmek için yapıcı özelliğini kontrol edebilirsiniz
Date
("Tarih" kelimesini içerir):
Örnek
function isDate(myDate) {
return myDate.constructor.toString().indexOf("Date") > -1;
}
Veya daha da basiti, nesnenin bir Tarih işlevi olup olmadığını kontrol edebilirsiniz :
Örnek
function isDate(myDate) {
return myDate.constructor === Date;
}
Tanımsız
JavaScript'te değeri olmayan bir değişken, değerine sahiptir undefined
. Tipi de öyle undefined
.
Örnek
let car; // Value is undefined,
type is undefined
Değeri olarak ayarlanarak herhangi bir değişken boşaltılabilir undefined
. tipi de olacaktır undefined
.
Örnek
car = undefined; // Value is undefined,
type is undefined
Boş Değerler
Boş bir değerin bununla hiçbir ilgisi yoktur undefined
.
Boş bir dize hem yasal bir değere hem de bir türe sahiptir.
Örnek
let car = ""; //
The value is
"", the typeof is "string"
Boş
JavaScript'te null
"hiçbir şey"dir. Var olmayan bir şey olduğu varsayılır.
Ne yazık ki, JavaScript'te veri türü null
bir nesnedir.
Bunu typeof null
bir nesne olan JavaScript'teki bir hata olarak düşünebilirsiniz. Öyle olmalı null
.
Bir nesneyi şu şekilde ayarlayarak boşaltabilirsiniz null
:
Örnek
let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
person = null; //
Now value is null,
but type is still an object
Bir nesneyi şu şekilde ayarlayarak da boşaltabilirsiniz undefined
:
Örnek
let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
person = undefined; //
Now both value and type is undefined
Tanımsız ve Boş Arasındaki Fark
undefined
ve null
değer olarak eşittir, ancak tür olarak farklıdır:
typeof undefined
// undefined
typeof null
// object
null === undefined
// false
null == undefined
// true