CoffeeScript - Nesneler
CoffeeScript'teki nesneler JavaScript'tekilere benzer. Bunlar, bir özelliğin bir anahtar ve noktalı virgülle ayrılmış bir değer içerdiği özellikler koleksiyonudur (:). Kısacası, CoffeeScript nesneleri bir anahtar-değer çiftleri koleksiyonudur. Nesneler kaşlı ayraçlar kullanılarak tanımlanır, boş bir nesne şu şekilde gösterilir:{}.
Sözdizimi
Aşağıda, CoffeeScript'teki bir nesnenin sözdizimi verilmiştir. Burada, nesnelerin anahtar / değer çiftlerini küme parantezleri arasına yerleştiriyoruz ve virgülle ayrılıyoruz (,).
object ={key1: value, key2: value,......keyN: value}
Misal
Aşağıda, CoffeeScript'te bir nesneyi tanımlamaya bir örnek verilmiştir. Bu kodu adıyla bir dosyaya kaydedinobjects_example.coffee
student = {name: "Mohammed", age: 24, phone: 9848022338 }
Aç command prompt ve .coffee dosyasını aşağıda gösterildiği gibi derleyin.
> coffee -c objects_example.coffee
Derlemede size aşağıdaki JavaScript'i verir.
// Generated by CoffeeScript 1.10.0
(function() {
var student;
student = {
name: "Mohammed",
age: 24,
phone: 9848022338
};
}).call(this);
Tıpkı dizilerde olduğu gibi, aşağıda gösterildiği gibi anahtar-değer çiftlerini yeni satırlarda belirleyerek virgülleri kaldırabiliriz.
student = {
name: "Mohammed"
age: 24
phone: 9848022338
}
Küme ayraçları yerine girintiler
CoffeeScript'teki diğer blok ifadeleri gibi, kaşlı ayraçlar yerine girintiler kullanabiliriz {} aşağıdaki örnekte gösterildiği gibi.
Misal
Yukarıdaki örneği aşağıda gösterildiği gibi küme parantezleri olmadan yeniden yazabiliriz.
student =
name: "Mohammed"
age: 24
phone: 9848022338
İç içe nesneler
CoffeeScript'te nesnelerin içine nesneler yazabiliriz.
Misal
Aşağıdaki örnek, CoffeeScript'teki yuvalanmış nesneleri gösterir. Bu kodu adıyla bir dosyaya kaydedinnested_objects.coffee
contact =
personal:
email: "[email protected]"
phone: 9848022338
professional:
email: "[email protected]"
phone: 9848033228
Aç command prompt ve .coffee dosyasını aşağıda gösterildiği gibi derleyin.
> coffee -c nested_objects.coffee
Derlemede size aşağıdaki JavaScript'i verir.
// Generated by CoffeeScript 1.10.0
(function() {
var contact;
contact = {
personal: {
email: "[email protected]",
phone: 9848022338
},
professional: {
email: "[email protected]",
phone: 9848033228
}
};
}).call(this);
Nesneler hakkında kavrayış
Bir nesnenin içeriğini yinelemek için kavrayışları kullanabiliriz. Bir nesnenin içeriğini yinelemek, bir dizinin içeriğini yinelemekle aynıdır. Nesnelerde, iki öğe anahtarını ve değerini almamız gerektiğinden, iki değişken kullanacağız.
Misal
Aşağıda, anlamaları kullanarak bir nesnenin içeriğinin nasıl yineleneceğini gösteren bir örnek verilmiştir. Bu kodu adıyla bir dosyaya kaydedinobject_comprehensions.coffee
student =
name: "Mohammed"
age: 24
phone: 9848022338
console.log key+"::"+value for key,value of student
Aç command prompt ve .coffee dosyasını aşağıda gösterildiği gibi derleyin.
> coffee -c object_comprehensions.coffee
Derlemede size aşağıdaki JavaScript'i verir.
// Generated by CoffeeScript 1.10.0
(function() {
var key, student, value;
student = {
name: "Mohammed",
age: 24,
phone: 9848022338
};
for (key in student) {
value = student[key];
console.log(key(+"::" + value));
}
}).call(this);
Şimdi açın command prompt tekrar ve CoffeeScript dosyasını aşağıda gösterildiği gibi çalıştırın.
> coffee object_comprehensions.coffee
CoffeeScript dosyası yürütülürken aşağıdaki çıktıyı üretir.
name::Mohammed
age::24
phone::9848022338
Nesne Dizileri
CoffeeScript'te bir dizi, aşağıda gösterildiği gibi içindeki nesneleri de içerebilir.
a = [
object1_key1: value
object1_key2: value
object1_key3: value
,
object2_key1: value
object2_key2: value
object2_key3: value
]
Aşağıdaki örnek, bir nesne dizisinin nasıl tanımlanacağını gösterir. Bir dizide istediğimiz nesnelerin anahtar değer çiftlerini virgülle ayırarak listeleyebiliriz.(,).
students =[
name: "Mohammed"
age: 24
phone: 9848022338
,
name: "Ram"
age: 25
phone: 9800000000
,
name: "Ram"
age: 25
phone: 9800000000
]
console.log student for student in students
Aç command prompt ve .coffee dosyasını aşağıda gösterildiği gibi derleyin.
c:\> coffee -c array_of_objects.coffee
Derlemede size aşağıdaki JavaScript'i verir.
// Generated by CoffeeScript 1.10.0
(function() {
var i, len, student, students;
students = [
{
name: "Mohammed",
age: 24,
phone: 9848022338
}, {
name: "Ram",
age: 25,
phone: 9800000000
}, {
name: "Ram",
age: 25,
phone: 9800000000
}
];
for (i = 0, len = students.length; i < len; i++) {
student = students[i];
console.log(student);
}
}).call(this);
Şimdi açın command prompt tekrar ve CoffeeScript dosyasını aşağıda gösterildiği gibi çalıştırın.
c:\> coffee array_of_objects.coffee
CoffeeScript dosyası yürütülürken aşağıdaki çıktıyı üretir.
{ name: 'Mohammed', age: 24, phone: 9848022338 }
{ name: 'Ram', age: 25, phone: 9800000000 }
{ name: 'Ram', age: 25, phone: 9800000000 }
Ayrılmış Anahtar Kelimeler
JavaScript, bir nesnenin özellik adları olarak ayrılmış anahtar kelimelere izin vermez, eğer onları kullanmak istiyorsak, onları çift tırnak kullanarak sarmamız gerekir. " ".
Misal
Aşağıdaki örneği düşünün. Burada isimli bir mülk oluşturdukclass, ayrılmış bir anahtar kelimedir. Bu kodu adıyla bir dosyaya kaydedinreserved_keywords.coffee
student ={
name: "Mohammed"
age: 24
phone: 9848022338
class: "X"
}
console.log key+"::"+value for key,value of student
Aç command prompt ve .coffee dosyasını aşağıda gösterildiği gibi derleyin.
c:\> coffee -c reserved_keywords.coffee
Derlemede size aşağıdaki JavaScript'i verir. Burada CoffeeScript derleyicisinin sınıf anahtar kelimesini bizim adımıza çift tırnak içine aldığını gözlemleyebilirsiniz.
// Generated by CoffeeScript 1.10.0
(function() {
var key, student, value;
student = {
name: "Mohammed",
age: 24,
phone: 9848022338,
"class": "X"
};
for (key in student) {
value = student[key];
console.log(key + "::" + value);
}
}).call(this);
Şimdi açın command prompt tekrar ve CoffeeScript dosyasını aşağıda gösterildiği gibi çalıştırın.
c:\> coffee array_of_objects.coffee
CoffeeScript dosyası yürütülürken aşağıdaki çıktıyı üretir.
name::Mohammed
age::24
phone::9848022338
class::X