Javascript les spécificités du langage - Partie 5 -
JSON : Javascript Object Notation Le JSON est une notation sérialisée d’un objet Javascript : //Objet statiques (structure) var monObjet = { monParametre: 2, maMethode: function() { alert ("Ma methode"); } //Objet instanciable (classe) var maClass= function(){} maClass.prototype = { monParametre: 2, maMethode: function() { alert ("Ma methode"); } //Tableau var monObjet =[41,45,{ monParametre: 2}];
JSON : Javascript Object Notation On peut effectivement ajouter des structures dans des tableaux et inversement. Les structures et les tableaux sont de type Object cependant les tableaux auront les propriétés d’un « Array », ainsi tous les attributs et méthodes de ce type pourront y être appliqués. On peut également écrire les prototypes des objects et donc ainsi définir les méthodes et propriétés de l’objet instanciable.
Les name spaces (espaces de nom) Lorsqu’on charge plusieurs scripts d’origines différentes et à cause du système des variables globales de Javascript il n’est pas rare que des conflits existent. La solution est de protéger chaque variable en les encapsulant dans un Name Space.
Les name spaces (espaces de nom) L’écriture JSON Comme vu précédent, un name space n’est en fait qu’un objet : var monNameSpace = { monParametre: 2, maMethode: function() { alert ("Ma methode"); } var monNameSpace = { monParametre: 2, maMethode: function() { alert ("Ma methode"); }
Les name spaces (espaces de nom) L’écriture « par ajouts » L’encapsulation dans des accolades peut générer trop de niveaux d’indentations surtout dans le cas des sous- espaces. Il arrive d’utiliser l’écriture suivante dans ce cas : var monNameSpace = {} ; // On peut aussi faire monNameSpace = new Object() ; monNameSpace.maMethode = function() { alert ("Ma methode"); }
Les name spaces (espaces de nom) Les sous espaces De la même manière il est possible de définir des sous-espaces : var monNameSpace = {}; monNameSpace.monSousNameSpace = {}; monNameSpace.monSousNameSpace.maMethode = function() { alert ("Ma methode"); }