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 }

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

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

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

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

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