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