CoffeeScript - Objets

Les objets de CoffeeScript sont similaires à ceux de JavaScript. Il s'agit d'une collection de propriétés, où une propriété comprend une clé et une valeur séparées par un point-virgule (:). En bref, les objets CoffeeScript sont une collection de paires clé-valeur. Les objets sont définis à l'aide d'accolades, un objet vide est représenté par{}.

Syntaxe

Ci-dessous, la syntaxe d'un objet dans CoffeeScript. Ici, nous plaçons les paires clé-valeur des objets entre accolades et elles sont séparées par une virgule (,).

object ={key1: value, key2: value,......keyN: value}

Exemple

Voici un exemple de définition d'un objet dans CoffeeScript. Enregistrez ce code dans un fichier avec un nomobjects_example.coffee

student = {name: "Mohammed", age: 24, phone: 9848022338 }

Ouvrez le command prompt et compilez le fichier .coffee comme indiqué ci-dessous.

> coffee -c objects_example.coffee

Lors de la compilation, il vous donne le JavaScript suivant.

// Generated by CoffeeScript 1.10.0
(function() {
  var student;

  student = {
    name: "Mohammed",
    age: 24,
    phone: 9848022338
  };

}).call(this);

Tout comme dans les tableaux, nous pouvons supprimer les virgules en spécifiant les paires clé-valeur dans de nouvelles lignes, comme indiqué ci-dessous.

student = {
  name: "Mohammed" 
  age: 24
  phone: 9848022338 
  }

Indentations au lieu d'accolades

Tout comme les autres instructions de bloc dans CoffeeScript, nous pouvons utiliser des indentations au lieu d'accolades {} comme indiqué dans l'exemple suivant.

Exemple

Nous pouvons réécrire l'exemple ci-dessus sans accolades comme indiqué ci-dessous.

student = 
  name: "Mohammed" 
  age: 24
  phone: 9848022338

Objets imbriqués

Dans CoffeeScript, nous pouvons écrire des objets dans des objets.

Exemple

L'exemple suivant illustre les objets imbriqués dans CoffeeScript. Enregistrez ce code dans un fichier avec un nomnested_objects.coffee

contact =
  personal:
    email: "[email protected]"
    phone:  9848022338
  professional:
    email: "[email protected]"
    phone:  9848033228

Ouvrez le command prompt et compilez le fichier .coffee comme indiqué ci-dessous.

> coffee -c nested_objects.coffee

Lors de la compilation, il vous donne le JavaScript suivant.

// Generated by CoffeeScript 1.10.0
(function() {
  var contact;

  contact = {
    personal: {
      email: "[email protected]",
      phone: 9848022338
    },
    professional: {
      email: "[email protected]",
      phone: 9848033228
    }
  };

}).call(this);

Compréhensions d'objets

Pour parcourir le contenu d'un objet, nous pouvons utiliser des compréhensions. Itérer le contenu d'un objet équivaut à itérer le contenu d'un tableau. Dans les objets, puisque nous devons récupérer deux éléments clés et valeurs, nous utiliserons deux variables.

Exemple

Voici un exemple montrant comment itérer le contenu d'un objet à l'aide de compréhensions. Enregistrez ce code dans un fichier avec un nomobject_comprehensions.coffee

student = 
  name: "Mohammed" 
  age: 24
  phone: 9848022338 

console.log key+"::"+value for key,value of student

Ouvrez le command prompt et compilez le fichier .coffee comme indiqué ci-dessous.

> coffee -c object_comprehensions.coffee

Lors de la compilation, il vous donne le JavaScript suivant.

// 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);

Maintenant, ouvrez le command prompt à nouveau et exécutez le fichier CoffeeScript comme indiqué ci-dessous.

> coffee object_comprehensions.coffee

Lors de l'exécution, le fichier CoffeeScript produit la sortie suivante.

name::Mohammed
age::24
phone::9848022338

Tableaux d'objets

Dans CoffeeScript, un tableau peut également contenir des objets dans comme indiqué ci-dessous.

a = [
     object1_key1: value
     object1_key2: value
     object1_key3: value
  ,
     object2_key1: value
     object2_key2: value
     object2_key3: value
]

L'exemple suivant montre comment définir un tableau d'objets. Nous pouvons simplement lister les paires clé / valeur des objets que nous voulons dans un tableau en les séparant à l'aide de virgules(,).

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

Ouvrez le command prompt et compilez le fichier .coffee comme indiqué ci-dessous.

c:\> coffee -c array_of_objects.coffee

Lors de la compilation, il vous donne le JavaScript suivant.

// 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);

Maintenant, ouvrez le command prompt à nouveau et exécutez le fichier CoffeeScript comme indiqué ci-dessous.

c:\> coffee array_of_objects.coffee

Lors de l'exécution, le fichier CoffeeScript produit la sortie suivante.

{ name: 'Mohammed', age: 24, phone: 9848022338 }
{ name: 'Ram', age: 25, phone: 9800000000 }
{ name: 'Ram', age: 25, phone: 9800000000 }

Mots clés réservés

JavaScript n'autorise pas les mots-clés réservés comme noms de propriété d'un objet, si nous voulons les utiliser, nous devons les envelopper avec des guillemets doubles " ".

Exemple

Prenons l'exemple suivant. Ici, nous avons créé une propriété avec un nomclass, qui est un mot-clé réservé. Enregistrez ce code dans un fichier avec un nomreserved_keywords.coffee

student ={ 
  name: "Mohammed" 
  age: 24
  phone: 9848022338
  class: "X"
  }
console.log key+"::"+value for key,value of student

Ouvrez le command prompt et compilez le fichier .coffee comme indiqué ci-dessous.

c:\> coffee -c reserved_keywords.coffee

Lors de la compilation, il vous donne le JavaScript suivant. Ici, vous pouvez observer que le compilateur CoffeeScript a enveloppé la classe de mots-clés avec des guillemets doubles de notre part.

// 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);

Maintenant, ouvrez le command prompt à nouveau et exécutez le fichier CoffeeScript comme indiqué ci-dessous.

c:\> coffee array_of_objects.coffee

Lors de l'exécution, le fichier CoffeeScript produit la sortie suivante.

name::Mohammed
age::24
phone::9848022338
class::X