Outils pour utilisateurs

Outils du site


jas:jst

Structures de données et types

Retour d'un niveau
Retour à l'accueil


Structures de données


Types de données
Le dernier standard ECMAScript 6 définit 7 types de données :

  • 6 types de données primitifs :
  1. booléen
  2. null
  3. undefined
  4. nombre
  5. String
  6. Symbol
  • et le type Object

Tous les types, sauf le type Object, définissent des valeurs immuables (qu'on ne peur modifier).
Les valeurs immuables pour chacun de ces types sont appelées “valeurs primitives”.

Les valeurs primitives
booléen
Un booléen représente le résultat d'une assertion logique et peut avoir deux valeurs : true (pour le vrai logique) et false (pour le faux logique)

null
Le type null de possède qu'une valeur : null
La valeur null est un littéral JavaScript représentant la nullité au sens où aucune valeur pour l'objet n'est présente.

undefined
Une variable à laquelle on n'a pas affecté de valeur vaudra undefined.

number
Selon le standard ECMACScript il n'y a que un seul type pour représenter un nombre, ce sont les nombres flottants à précision double.
Les nombres compris entre -253 -1 et 253 -1.
Il n'y a donc pas de type à part pour représenter les nombres entiers. Ce qui signifie que tout nombre déclaré dans une variable et un nombre à virgule flottante !

Le type number possède 3 valeurs symboliques :

  • +Infinity : La valeur Infinity (infinité positive) est une valeur plus grande que n'importe quel nombre, y compris elle-même.
    Cette valeur se comporte comme l'infini mathématique ; par exemple, tout ce qui est multiplié par Infinity vaut Infinity, et tout ce qui est divisé par Infinity vaut 0.
  • -Infinity : idem mais infinité négative
  • NaN : Not A Number en anglais, qui signifie « n'est pas un nombre »).

String
Ce type est utilisé pour représenter des données textuelles.
Le premier élément est situé à l'indice 0 et le deuxième à l'indice 1.
La longueur d'une chaîne de caractères correspond au nombre d'éléments qu'elle contient.

Symbol
Le type symbol sont une nouveautés du langage, apportée par ECMAScript 6. Un symbole est une valeur primitive unique et immuable pouvant être utilisée comme clé pour propriété d'un objet (voir ci-après). Dans d'autres langages de programmation, les symboles sont appelés atomes.

Object
En informatique, un objet est une valeur conservée en mémoire à laquelle on fait référence grâce à un identifiant.
Les objets peuvent être considérés comme des collections de propriétés.

  • Propriétés : en JavaScript, les objets peuvent être considérés comme des collections de propriétés. En utilisant un objet littéral, il est possible d'initialiser un ensemble limité de propriétés ; d'autres propriétés peuvent ensuite être ajoutées et/ou retirées.
    Les valeurs des propriétés peuvent être de n'importe quel type, y compris des objets. Cela permet de construire des structures de données complexes. Les propriétés sont identifiées grâce à une « clé ». Une clé peut être une chaîne de caractères ou un symbole.

Conversions de types de données

- JavaScript est un langage à typage dynamique. Cela signifie qu'il n'est pas nécessaire de spécifier le type de données d'une variable lors de sa déclaration. Les types de données sont convertis automatiquement durant l'exécution du script.
Ainsi, il est possible de définir une variable de cette façon :

var réponse = 42;

- Et plus tard, d'affecter une chaîne de caractères à cette même variable :
réponse = “Merci pour le dîner…”;

JavaScript utilisant un typage dynamique, cette dernière instruction ne renverra pas d'erreur.
Lorsque des expressions impliquent des chaînes de caractères et des valeurs numériques ainsi que l'opérateur +, JavaScript convertit les nombres en chaînes de caractères :
x = “La réponse est ” + 42; “La réponse est 42”
y = 42 + “ est la réponse”;
“42 est la réponse”

Avec des instructions impliquant d'autres opérateurs, JavaScript ne convertit pas nécessairement les valeurs numériques en chaînes de caractères.
Ainsi, on aura :
“37” - 7; 30
“37” + 7;
“377”

Connaître le type de donnée avec typeof

var chiffre = 10;
console.log(typeof chiffre);
number
var nom = "Toto";
console.log(typeof nom);
string

ECMAScript 2015 (sixième édition) est la version actuelle pour le langage ECMAScript. Couramment appelé « ES6 », c'est le standard qui définit l'implémentation de JavaScript, notamment pour SpiderMonkey, le moteur utilisé par Firefox et les autres applications Mozilla.

Le modulo
C'est le reste d'une division, le signe modulo est %

12 % 10 = 2

Retour d'un niveau
Retour à l'accueil

jas/jst.txt · Dernière modification : de 127.0.0.1