Expliquer les enregistrements JavaScript ?

Expliquer Les Enregistrements Javascript



JavaScript est livré avec le type de données non primitif ' Objet ” qui est dérivé à l'aide de types de données primitifs (intégrés). L''Objet' agit comme une instance pour accéder aux membres JavaScript. Il est utilisé pour invoquer la fonction JavaScript pour effectuer la tâche spécifique que les types de données primitifs ne peuvent pas. Cependant, un inconvénient de ce type de données est qu'il effectue l'opération de comparaison sur la base de son identité, et non du contenu. Pour résoudre ce problème, JavaScript propose le nouveau type de données ' Dossiers » car il compare strictement sur la base de son contenu, et non de son identité.

Ce guide explique les enregistrements JavaScript.







Quels sont les 'Enregistrements' ?

Javascript ' Dossiers ” est un nouveau type primitif (chaînes, nombres, symboles) similaire au type intégré . La seule différence est que les 'enregistrements' sont purement immuables, c'est-à-dire que la valeur de leurs clés ne peut pas être modifiée une fois qu'ils ont été initialisés.



Syntaxe



La syntaxe de ' Enregistrer » est identique à un « Objet », mais il nécessite un « # (dièse)' avant les accolades qui le désignent comme 'Record':





const nomenregistré = #{
/*
valeur clé
/*
}


Utilisons la syntaxe indiquée ci-dessus pour créer un nouvel enregistrement.

Comment créer des enregistrements ?

Pour créer un enregistrement, spécifiez le symbole '#(dièse)' au début des accolades comme indiqué dans le bloc de code ci-dessous :



const personne = #{
nom de famille : 'Ou' ,
nom : 'Usman' ,
âge: vingt-et-un ,
}
console.log ( personne.fname )
console.log ( person.lname )
console.log ( personnage )


Dans le bloc de code ci-dessus :

    • Le ' personne » fait référence à un nouvel « enregistrement » ayant les clés suivantes « fname », « lname » et « age ».
    • Ensuite, le « console. enregistrer() » affiche les valeurs de la clé « personne » une par une respectivement.

Note: L'utilisateur peut également spécifier le contenu 'Records' sur une ligne comme ceci :

const personne = #{fname : 'Ali', lname : 'Usman', âge : 21}


Sortir


On peut voir que la sortie affiche toutes les valeurs clés de l'enregistrement 'personne' créé.

Limitation des enregistrements

Le 'Record' n'accepte pas un 'Array' et un 'Object' comme clé. Si l'utilisateur les passe à un enregistrement, le compilateur génère un ' Erreur-type ”. Le bloc de code suivant le montre pratiquement :

const nouvelenregistrement = #{
arr : [ 'HTML' , 'CSS' , 'JavaScript' ]
}
console.log ( personne.arr )


Dans les lignes de code ci-dessus :

    • Le ' nouvel enregistrement ” initialise un tableau nommé “arr” comme clé.
    • Ensuite, le « console. enregistrer() ” affiche la valeur de clé “arr” spécifiée dans le “newRecord”.

Sortir


La console affiche le 'TypeError(passing un-expected type)' car 'Records' n'accepte pas un tableau comme clé.

Comprendre les enregistrements JavaScript à l'aide d'exemples

Cette section comprend les utilisations de 'Records' pratiquement à l'aide d'exemples donnés.

Commençons par le premier exemple.

Exemple 1 : les enregistrements sont profondément immuables

Javascript ' Dossiers » sont des types primitifs profondément immuables. Le 'profondément immuable' signifie que toutes les valeurs clés d'un enregistrement ne peuvent être modifiées ou changées à aucun niveau une fois qu'elles ont été définies. Les types 'primitifs' désignent tous les types de données JavaScript de base tels que chaîne, nombre, null, indéfini et bien d'autres.

Le bloc de code suivant montre pratiquement le concept énoncé :

const monenregistrement = #{
nom: 'Ou' ,
âge: vingt-et-un ,
}
myRecord.name= 'Haron'


Dans le bloc de code ci-dessus, le ' monenregistrement ' clé ' nom ” la valeur est modifiée après son initialisation.

Sortir


On peut observer que le compilateur affiche le 'TypeError' lors de la modification de la valeur de la clé 'newRecord'.

Exemple 2 : Les enregistrements sont comparatifs

Le principal avantage des 'Records' est qu'ils sont comparés sur la base de leurs valeurs et non de leur identité. Tandis que les «Objets» se comparent selon leurs identités, et non selon leurs valeurs. Si deux valeurs Records sont égales, le compilateur récupère true.

Voyons cela pratiquement à l'aide de lignes de code données :

const monenregistrement = #{
nom: 'Ou' ,
âge: vingt-et-un ,
}
console.log ( monenregistrement === #{
nom: 'Ou' ,
âge: vingt-et-un ,
} ) ;


Ici, l'extrait de code ci-dessus crée deux enregistrements qui sont comparés à l'aide du ' stricte égalité (===)” opérateur.

Sortir


La sortie renvoie un ' vrai 'Valeur booléenne qui signifie que les opérateurs spécifiés, c'est-à-dire 'Enregistrements', sont égaux.

Exemple 3 : convertir un enregistrement en objet

Les « enregistrements » JavaScript peuvent également être convertis en un type de données « Objet » à l'aide du constructeur « Objet ». Voici sa mise en œuvre pratique :

laisser monenregistrement = #{ Un : 1, Deux : 2 }
console.log ( Objet ( monenregistrement ) )
console.log ( type de mon enregistrement )


Dans les lignes de code ci-dessus :

    • La première ' lconsole.and() » utilise le constructeur « Object » pour convertir le « monenregistrement » en un « objet.
    • La deuxième méthode 'console.log()' utilise le ' Type de ” mot-clé pour vérifier le type de “myRecord”.

Sortir


La sortie affiche le 'newRecord' converti sous la forme d'un ' Objet ' type qui confirme que le ' newRecord ' a été converti avec succès en un ' objet '.

Exemple 4 : Convertir un objet en enregistrement

L'utilisateur peut également convertir 'Objet' en 'Enregistrement' à des fins de comparaison à l'aide de la touche ' Enregistrer() ' méthode. Faisons-le concrètement :

laisser monObj = { Un: 1 , Deux: 2 }
laisser monEnregistrement = Enregistrer ( monObj )
console.log ( monenregistrement )


Maintenant, l'extrait de code ci-dessus utilise le ' Enregistrer() » pour convertir l'objet « myObj » donné en « myRecord ».

Sortir


La sortie montre l'objet converti 'myObj' en contenu 'myRecord' avec succès.

Exemple 5 : créer de nouveaux enregistrements à partir d'enregistrements existants

Comme indiqué dans le premier exemple, les 'enregistrements' sont immuables, c'est-à-dire que leurs valeurs de clé ne peuvent pas être modifiées. Cependant, l'utilisateur peut créer un nouveau 'Record' à partir du 'Record' existant en ajoutant d'autres valeurs.

Suivez l'extrait de code donné pour créer un nouvel enregistrement à partir de celui existant :

laisser ancienenregistrement = #{A : 1, B : 2 } ;
laisser nouvelenregistrement = #{ ...monEnregistrement, C : 3, D : 4}
console.log ( nouvel enregistrement )


Dans le code JavaScript ci-dessus :

    • Le ' ancienenregistrement ” fait référence à un enregistrement existant ayant deux valeurs clés.
    • Ensuite le ' nouvel enregistrement ' correspond à un nouvel enregistrement qui est créé à l'aide de 'oldRecord' existant et également en ajoutant les nouvelles valeurs de clé spécifiées.
    • Enfin, le « console. enregistrer() » affiche l'enregistrement nouvellement créé nommé « newRecord ».

Sortir


La sortie affiche toutes les valeurs clés de l'enregistrement nouvellement créé.

Exemple 6 : Accéder aux enregistrements à l'aide de la méthode 'Object.keys()'

L'utilisateur peut utiliser le JavaScript intégré ' clés() ' méthode de ' Objet ” pour accéder aux clés d'un enregistrement. Dans ce scénario, il est utilisé pour accéder aux clés « myRecord » :

laisser monenregistrement = #{A : 1, B : 2 } ;
laisser recordKeys = Objet.keys ( monenregistrement ) ;
console.log ( recordKeys )


L'extrait de code ci-dessus utilise le ' Objet.keys() » pour accéder à toutes les clés présentes dans le « myRecord ».

Sortir


La sortie affiche toutes les clés de 'myRecord' dans le format tableau et également avec leurs index dans un format de paire clé-valeur.

Conclusion

Javascript ' Dossiers ” sont le type de données de niveau avancé qui est profondément immuable. Il fonctionne de la même manière qu'un « Objet », mais la principale différence est que sa valeur peut être modifiée ou mise à jour une fois qu'elle a été définie. Il nécessite un symbole '# (dièse)' avant les accolades pour la déclaration, sinon il agit comme un objet. Ce guide explique brièvement le type de données JavaScript Records.