Nesneler, her birinin ayrı bir veri türünün
primitive, kritik tek bir veri türü olan bir veri türüdür.
fark: İlkellerin aksine, nesneler değişebilir. Bir nesne veri içerebilir
değişken gibi tanımlayıcılarla ilişkilidir ancak object
verilerini korur
veri türü ne olursa olsun.
Temel elemanların yanı sıra tüm JavaScript değerleri nesnedir. Çünkü ilkel düz değerler, aşağıdaki nedenden dolayı nesneye benzer davranış prototip devralma, JavaScript'in etkili bir şekilde nesnelerden oluştuğunu söyler.
Nesne değişmez değeri, sıfır veya daha fazla anahtar/değer çiftini çevreleyen bir çift küme parantezidir "özellikler", "özellikler" içerebilir.
{
"myProperty" : true
}
Mülk anahtarları herhangi bir sembol veya string Örneğin, tanımlayıcı atarken olduğu gibi özellik anahtarı olarak kullanılan dizelerin tahmin edilebilir olması ve açıklayıcı:
let carAttributes = {
"color" : "red"
};
carAttributes
> Object { color: "red" }
Mülk anahtarları için tek ('
) veya çift tırnak işareti ("
) dizesi değişmez değeri gerekir,
düz şablon:
let carAttributes = {
`keyString` : false
};
> Uncaught SyntaxError: expected property name, got template literal
Mülk değerleri herhangi bir veri türünde olabilir. Bir nesnenin özellikleri kendileri şunları içerir:
let myObject = {
'key' : {
'subkey' : true,
'othersubkey' : false
}
};
myObject;
> Object { key: Object { subkey: true, othersubkey: false } }
Bir özelliğin değeri fonksiyon olduğunda, bu özelliğe "yöntem" adı verilir.
const myObject = {
"myProperty" : true,
myMethod() {
console.log( "This is a method." );
}
}
myObject.myProperty;
> true
myObject.myMethod();
> "This is a method."
Ayrıca, new
anahtar kelimesini kullanarak bir nesne de oluşturabilirsiniz:
let myObject = new Object();
Önceki örneklerde, yeni oluşturulan nesne değişmez değerleri atandı
kullanabilirsiniz. Diğer veri türlerinde olduğu gibi
tanımlayıcısı olmayan bir nesne bulmanız gerekir. Ancak
nesne değişmez değeri, karışıklığa yol açabileceği herhangi bir bağlamda parantez gerektirir
küme ayracı söz dizimini ({}
) paylaştığından blok ifadesi için kullanılır.
Bir değişkenin başlatılması için hiçbir zaman bu gerekmez.
{ "value" : 2 }
> Uncaught SyntaxError: unexpected token: ':'
({ "value" : 2 })
> Object { value: 2 }
let valObj = { "value" : 2 };
valObj;
> Object { value: 2 }
Temel elemanlardan farklı olarak, kaliteyi temel alan
new Object()
kullanarak bir nesne oluşturabilir ve bir nesne değişmez değeri oluşturabilirsiniz. Çünkü
her iki durumda da sonuç,
Object
prototipi. Ancak ikisi arasında pratik bir fark vardır.
söz dizimleri.
new
anahtar kelimesi, daha sonra veriyle doldurulacak boş bir nesne tanımlamalıdır:
let myObject = new Object();
myObject.booleanValue = true;
myObject.stringValue = "My string.";
Nesne değişmez değeri, oluşturulduktan sonra verilerle doldurulabilir:
let myObject = {
'booleanValue' : true,
'stringValue' : "My string."
};
Pratikte çok az kullanıldığı halde, new Object()
basit bir öğe haline getirmek için kullanılabilir
Veri değerlerini,
kurucu ile birlikte new
anahtar kelimesi
işlevini kullanın. Örneğin, aşağıdaki kural işlevsel olarak
new Number( 10 )
:
let myObject = new Object( 10 );
myObject;
> Number { 10 }
null
ve undefined
değerleri, işlevsel olarak aynı olan boş bir nesneyle sonuçlanır
bir bağımsız değişken sağlamadan new Object()
yöntemini çağırmaktır.
Bağımsız değişken nesneyi aktarırken bir nesne değişmez değerini new Object()
öğesine iletme
değerini değiştirmeden ekleyin:
let myObject = new Object( { myValue : 10 } );
myObject;
> Object { myValue: 10 }
Temel değerler için kurucu kullanmada olduğu gibi nesneler için kurucular kullanma nesne değişmez notasyonunu kullanmaya göre nadiren bir avantaj sağlar. Oluştururken bile daha sonra değerlerle doldurulacak boş nesneler varsa geliştiriciler, basitlik açısından bire bir kullanıyoruz.
Öğrendiklerinizi sınayın
Bir nesnenin özelliklerini ayarlamak için ne tür gösterim türlerini kullanabilirsiniz?
Değeri almak için doğru söz dizimi aşağıdakilerden hangisidir?
/ myProp
myObj("myProp");
myObj{"myProp"};
myObj["myProp"];