Comprendre les types de données en JavaScript

introduction

Data types sont utilisés pour classer un type particulier de données dans les langages de programmation. Par exemple, un nombre et une chaîne de caractères sont différents types de données qui seront traitées différemment par JavaScript.

Ceci est important car le type de données que vous utilisez déterminera les valeurs que vous pouvez lui affecter et ce que vous pouvez y faire. C'est-à-dire que pour pouvoir effectuer des opérations avec des variables en JavaScript, il est important de comprendre le type de données d'une variable donnée.

Dans ce didacticiel, nous verrons comment les types de données fonctionnent en JavaScript ainsi que les types de données importants natifs du langage. Il ne s’agit pas d’une enquête exhaustive sur les types de données, mais vous aidera à vous familiariser avec les options disponibles en JavaScript.

Dactylographie dynamique

JavaScript comporte des types de données dynamiques, ce qui signifie que la vérification du type est effectuée au moment de l'exécution plutôt que lors de la compilation. Lesdata types de Python sont également typés dynamiquement.

Avec les langages à typage dynamique, une variable du même nom peut être utilisée pour contenir différents types de données.

Par exemple, la variablet, définie comme une variable par le mot-clélet (notez quelet garde une variable donnée limitée dans sa portée), peut être assignée pour contenir différents types de données, ou peut être initialisé mais laissé indéfini:

let t = 16;         // t is a number
let t = "Teresa";   // t is a string
let t = true;       // t is a Boolean
let t;              // t is undefined

Chacune des variablest ci-dessus peut être définie sur n'importe quel type de données disponible en JavaScript; ils n'ont pas besoin d'être explicitement déclarés avec un type de données avant d'être utilisés.

Nombres

JavaScript n'a qu'un seul type de nombre, il n'y a pas de désignation séparée pour les nombres entiers et les nombres à virgule flottante. Pour cette raison, les nombres peuvent être écrits en JavaScript avec ou sans décimales:

let num1 = 93;
let num2 = 93.00;

Dans les deux cas ci-dessus, le type de données est un nombre et est le même, que le nombre comporte ou non des décimales.

La notation scientifique exponentielle peut être utilisée en JavaScript pour abréger des nombres très grands ou petits, comme dans les exemples suivants:

let num3 = 987e8;       // 98700000000
let num4 = 987e-8;      // 0.00000987

Les nombres en JavaScript sont considérés comme précis jusqu'à 15 chiffres. Cela signifie que les chiffres seront arrondis après que le 16ème chiffre est atteint:

let num5 = 999999999999999;     // remains as 999999999999999
let num6 = 9999999999999999;    // rounded up to 10000000000000000

En plus de représenter des nombres, le type de nombre JavaScript a également trois valeurs symboliques disponibles:

  • Infinity - une valeur numérique qui représente un nombrepositive qui s'approche de l'infini

  • -Infinity: une valeur numérique qui représente un nombrenegative qui s'approche de l'infini

  • NaN - une valeur numérique qui représente un non-nombre, représentantnotanumber

Infinity ou-Infinity seront renvoyés si vous calculez un nombre en dehors du plus grand nombre possible disponible en JavaScript. Cela se produira également pour les valeurs non définies, comme lors de la division par zéro:

let num7 = 5 / 0;   // will return Infinity
let num8 = -5 / 0;  // will return -Infinity

En termes techniques,Infinity sera affiché lorsqu'un nombre dépasse le nombre1.797693134862315E+308, qui représente la limite supérieure en JavaScript.

De même,-Infinity sera affiché lorsqu'un nombre dépasse la limite inférieure de-1.797693134862316E+308.

Le nombreInfinity peut également être utilisé dans les boucles:

while (num9 != Infinity) {
    // Code here will execute through num9 = Infinity
}

Pour les nombres qui ne sont pas des nombres légaux,NaN sera affiché. Si vous essayez d'effectuer une opération mathématique sur un nombre et une valeur non numérique,NaN sera renvoyé. C'est le cas dans l'exemple suivant:

let x = 20 / "Shark";   // x will be NaN

Comme le nombre20 ne peut pas être divisé par la chaîne"Shark" car il ne peut pas être évalué comme un nombre, la valeur renvoyée pour la variablex estNaN.

Toutefois, si une chaîne peut être évaluée en tant que valeur numérique, l'expression mathématique peut être effectuée en JavaScript:

let y = 20 / "5";   // y will be 4

Dans l'exemple ci-dessus, comme la chaîne"5" peut être évaluée comme une valeur numérique en JavaScript, elle est traitée comme telle et fonctionnera avec l'opérateur mathématique de division,/.

Lors de l'affectation de la valeurNaN à une variable utilisée dans une opération, il en résultera la valeur deNaN, même si l'autre opérande est un nombre légal:

let a = NaN;
let b = 37;
let c = a + b;  // c will be NaN

Il n'y a qu'un seul type de données numérique en JavaScript. Lorsque vous travaillez avec des nombres, tout nombre que vous entrez sera interprété comme le type de données des nombres; vous n'êtes pas obligé de déclarer le type de données que vous entrez, car JavaScript est typé de manière dynamique.

Les cordes

Unstring est une séquence d'un ou plusieurs caractères (lettres, chiffres, symboles). Les chaînes sont utiles car elles représentent des données textuelles.

En JavaScript, les chaînes existent entre guillemets simples' ou guillemets doubles", donc pour créer une chaîne, mettez une séquence de caractères entre guillemets:

let singleQuotes = 'This is a string in single quotes.';
let doubleQuotes = "This is a string in double quotes.";

Vous pouvez choisir d'utiliser des guillemets simples ou des guillemets doubles, mais quelle que soit votre décision, vous devez rester cohérent au sein d'un programme.

Le programme "Hello, World!" montre comment une chaîne peut être utilisée dans la programmation informatique, car les caractères qui composent la phraseHello, World! dans lesalert()ci-dessous sont une chaîne.

hello.html







Lorsque nous exécutons le code et cliquons sur le boutonClick me, nous recevrons une fenêtre contextuelle avec le résultat suivant:

OutputHello, World!

Comme avec d'autres types de données, nous pouvons stocker des chaînes dans des variables:

let hw = "Hello, World!";

Et affichez la chaîne dans lesalert() en appelant la variable:

hello.html

...

...
OutputHello, World!

Nous pouvons effectuer de nombreuses opérations sur des chaînes dans nos programmes afin de les manipuler pour obtenir les résultats souhaités. Les chaînes sont importantes pour communiquer des informations à l'utilisateur et lui permettre de renvoyer des informations au programme.

Booléens

Le type de donnéesBoolean peut être l'une des deux valeurs, soittrue oufalse. Les booléens servent à représenter les valeurs de vérité associées à la branche logique des mathématiques, qui informe les algorithmes en informatique.

Chaque fois que vous voyez le type de données Boolean, il commencera par unB majuscule car il porte le nom du mathématicien George Boole.

De nombreuses opérations en mathématiques nous donnent des réponses qui évaluent vrai ou faux:

  • plus grand que

    • 500> 100true

    • 1> 5false

  • moins que

    • 200 <400true

    • 4 <2false

  • égal

    • 5 = 5true

    • 500 = 400false

Comme avec d'autres types de données, nous pouvons stocker une valeur booléenne dans une variable:

let myBool = 5 > 8; // false

Puisque 5 n'est pas supérieur à 8, la variablemyBool a la valeur defalse.

Au fur et à mesure que vous écrivez plus de programmes en JavaScript, vous vous familiariserez avec le fonctionnement des booléens et expliquerez comment différentes fonctions et opérations évaluées en vrai ou en faux peuvent modifier le cours du programme.

Tableaux

Unarray peut contenir plusieurs valeurs dans une seule variable. Cela signifie que vous pouvez contenir une liste de valeurs dans un tableau et effectuer une itération à travers elles.

Chaque élément ou valeur qui se trouve à l'intérieur d'un tableau est appelé unelement. Vous pouvez faire référence aux éléments d'un tableau en utilisant un numéro d'index.

Tout comme les chaînes sont définies comme des caractères entre guillemets, les tableaux sont définis en ayant des valeurs entre crochets[ ].

Un tableau de chaînes, par exemple, ressemble à ceci:

let fish = ["shark", "cuttlefish", "clownfish", "eel"];

Si nous appelons la variablefish, nous recevrons la sortie suivante:

["shark", "cuttlefish", "clownfish", "eel"]

Les tableaux sont un type de données très flexible car ils sont modifiables en ce sens qu'ils peuvent avoir des valeurs d'éléments ajoutées, supprimées et modifiées.

Objets

Le type de données JavaScriptobject peut contenir plusieurs valeurs sous forme de pairesname:value. Ces paires constituent un moyen utile de stocker et d’accéder aux données. La syntaxe littérale de l'objet est composée de paires nom: valeur séparées par des deux-points avec des accolades de chaque côté{ }.

Généralement utilisé pour stocker des données liées, telles que les informations contenues dans un ID, un littéral d'objet JavaScript ressemble à ceci, avec des espaces entre les propriétés:

let sammy = {firstName:"Sammy", lastName:"Shark", color:"blue", location:"ocean"};

Alternativement, et en particulier pour les littéraux d'objet avec un grand nombre de paires nom: valeur, nous pouvons écrire ce type de données sur plusieurs lignes, avec un espace après chaque signe deux-points:

let sammy = {
    firstName: "Sammy",
    lastName: "Shark",
    color: "blue",
    location: "Ocean"
};

La variable objetsammy dans chacun des exemples ci-dessus a 4 propriétés:firstName,lastName,color etlocation. Ce sont chacune des valeurs passées séparées par des deux points.

Travailler avec plusieurs types de données

Bien que chaque programme que vous créez contienne plusieurs types de données, il est important de garder à l’esprit que vous effectuerez généralement des opérations dans le même type de données. C'est-à-dire que vous allez effectuer des calculs mathématiques sur des nombres ou des chaînes de découpage.

Lorsque vous utilisez un opérateur qui fonctionne sur plusieurs types de données, comme l'opérateur+ qui peut ajouter des nombres ou concaténer des chaînes, vous pouvez obtenir des résultats inattendus.

Par exemple, lorsque vous utilisez l'opérateur+ avec des nombres et des chaînes ensemble, les nombres seront traités comme une chaîne (ils seront donc concaténés), mais l'ordre des types de données influencera la concaténation.

Donc, si vous créez une variable qui effectue la concaténation suivante, JavaScript interprétera chaque élément ci-dessous comme une chaîne:

let o = "Ocean" + 5 + 3;

Si vous appelez la variableo, vous obtiendrez la valeur suivante renvoyée:

OutputOcean53

Cependant, si vous dirigez avec des nombres, les deux nombres seront ajoutés avant d'être ensuite interprétés comme une chaîne lorsque l'exécution du programme atteint"Ocean", donc la valeur renvoyée sera la somme des deux nombres concaténés avec la chaîne:

let p = 5 + 3 + "Ocean";
Output8Ocean

En raison de ces résultats inattendus, vous effectuerez probablement des opérations et des méthodes dans un type de données plutôt qu’au travers d’eux. Toutefois, JavaScript ne renvoie pas d’erreurs lors du mélange de types de données, contrairement à d’autres langages de programmation.

Conclusion

À ce stade, vous devriez avoir une meilleure compréhension de certains des principaux types de données que vous pouvez utiliser en JavaScript.

Chacun de ces types de données deviendra important à mesure que vous développez des projets de programmation en langage JavaScript.