Types JavaScript

Vous pouvez parfois lire que JS n'est pas typé, mais c'est incorrect. Il est vrai que vous pouvez attribuer toutes sortes de types différents à une variable, mais JavaScript a des types. En particulier, il fournit des types primitifs et des types d'objets.

Types primitifs

Les types primitifs sont

Et deux types spéciaux:

  • nul
  • indéfini

Voyons-les en détail dans les sections suivantes.

Nombres

Intérieurement,JavaScriptn'a qu'un seul type pour les nombres: chaque nombre est un flottant.

Un littéral numérique est un nombre représenté dans le code source, amd selon la façon dont il est écrit, il peut s'agir d'un littéral entier ou d'un littéral à virgule flottante.

Entiers:

10
5354576767321
0xCC //hex

Flotteurs:

3.14
.1234
5.2e4 //5.2 * 10^4

Cordes

Un type chaîne est une séquence de caractères. Il est défini dans le code source comme une chaîne littérale, qui est placée entre guillemets ou guillemets doubles

'A string'
"Another string"

Les chaînes peuvent s'étendre sur plusieurs lignes à l'aide de la barre oblique inverse

"A \
string"

Une chaîne peut contenir des séquences d'échappement qui peuvent être interprétées lorsque la chaîne est imprimée, comme \ n pour créer une nouvelle ligne. La barre oblique inverse est également utile lorsque vous devez saisir par exemple un guillemet dans une chaîne entre guillemets, pour éviter que le caractère ne soit interprété comme un guillemet fermant:

'I\'m a developer'

Les chaînes peuvent être jointes à l'aide de l'opérateur +:

"A " + "string"

Littéraux de modèle

Introduits dans ES2015, les littéraux de modèle sont des littéraux de chaîne qui permettent un moyen plus puissant de définir des chaînes.

const a_string = `something`

Vous pouvez effectuer une substitution de chaîne, en incorporant le résultat de n'importe quelle expression JS:

`a string with ${something}`
`a string with ${something+somethingElse}`
`a string with ${obj.something()}`

Vous pouvez avoir des chaînes multilignes facilement:

`a string
with
${something}`

Booléens

JavaScript définit deux mots réservés pour les booléens: true et false. De nombreuses opérations de comparaison== === < >(et ainsi de suite) retournent l'un ou l'autre.

if,whileles instructions et autres structures de contrôle utilisent des booléens pour déterminer le déroulement du programme.

Ils n'acceptent pas seulement le vrai ou le faux, mais acceptent aussivéridiqueetfauxvaleurs.

Valeurs, valeurs faussesinterprété comme faux, sommes

0
-0
NaN
undefined
null
'' //empty string

Tout le reste est considéré comme unvaleur de vérité.

nul

nullest une valeur spéciale qui indique l'absence de valeur.

C'est un concept commun dans d'autres langues également, peut être connu sous le nom denilouNoneen Python par exemple.

indéfini

undefinedindique qu'une variable n'a pas été initialisée et que la valeur est absente.

Il est généralement renvoyé par des fonctions sansreturnévaluer. Lorsqu'une fonction accepte un paramètre mais qui n'est pas défini par l'appelant, il n'est pas défini.

Pour détecter si une valeur estundefined, vous utilisez la construction:

typeof variable === 'undefined'

Types d'objets

Tout ce qui n'est pas un type primitif est unobjettaper.

Les types d'objets ont des propriétés et ont également des méthodes qui peuvent agir sur ces propriétés.

Comment trouver le type d'une variable

Toute variable a un type attribué. Utilisez letypeofopérateur pour obtenir une représentation sous forme de chaîne d'un type:

typeof 1 === 'number'
typeof '1' === 'string'
typeof {name: 'Flavio'} === 'object'
typeof [1, 2, 3] === 'object'
typeof true === 'boolean'
typeof undefined === 'undefined'
typeof (() => {}) === 'function'

Pourquoitypeofrenvoyé «fonction»? JavaScript n'a pasfunctiontaper. C'est vrai, et c'est une bizarrerie detypeofqui renvoie commodément cette valeur.

Téléchargez mon gratuitManuel du débutant JavaScript


Plus de tutoriels js: