On peut dire que l'essence d'un programme informatique est en grande partie l'opération et la lecture et l'écriture de diverses informations (valeurs) par la machine. Dans JavaScript, il existe plusieurs types de valeurs, qui sont divisées en deux catégories: primitive (type primitif) et objet (objet).
Primitif
Il existe 5 types de primitifs en javascript:
1. nombre. Tous les nombres, que ce soit des entiers ou des décimales, sont du numéro de type.
2. STRING. Type de chaîne.
3.Boolean. Type booléen, vrai ou faux.
4.Null. Ce type n'a qu'une seule valeur de null.
5. introduit. Ce type n'a qu'une seule valeur non définie.
Objet
Sauf Primitive, toute autre valeur en JavaScript est un objet (objet). Il existe plusieurs types d'objets:
1.JSON Objet de paire de valeurs clés. Comme {"name": "bob", "âge": 42}.
2. Array. Comme [1,4,5,7,9].
3. Fonction. Comme la fonction () {return true;}. Il existe deux formes de fonctions dans JavaScript: 1. Bloc de code exécutable; 2. Constructeur de classe. Quelle que soit la forme qu'il existe, une fonction est toujours un objet.
JS est livré avec des objets globaux
Pour faciliter la programmation, JavaScript est livré avec un objet global, qui a les 7 variables de membre suivantes, qui sont toutes un objet:
1.Math. Une série d'opérations mathématiques complexes peut être effectuée en appelant la méthode de l'objet mathématique.
2. number. Certaines valeurs spéciales peuvent être obtenues en accédant aux variables membres des objets numériques.
3.Array. Le constructeur d'un objet de tableau.
4. fonction. Le constructeur de l'objet fonction.
5.Date. Le constructeur de l'objet date.
6.regexp. Le constructeur de l'objet d'expression régulière.
7. Error. Le constructeur de l'objet d'erreur.
Lors de la rédaction de programmes, comme vous pouvez accéder directement aux 7 variables ci-dessus, vous pouvez également les utiliser comme objets globaux.
Immutable vs mutable
La primitive et l'objet ont une distinction claire: toutes les primitives sont immuables et tous les objets sont mutables. Prenant le type de chaîne comme exemple, après avoir appelé la méthode String pour la modifier, JavaScript enregistrera le résultat modifié dans un nouvel objet String, et l'objet String d'origine ne changera rien:
La copie de code est la suivante:
var s = "test";
S.ToupperCase (); // Renvoie un nouvel objet de chaîne "test"
console.log (s); // "test" - la chaîne d'origine ne change pas
expérience
Dans JavaScript, vous pouvez obtenir le type d'une certaine valeur en utilisant le mot-clé type.
Obtenez le type de numéro:
La copie de code est la suivante:
var n = 42;
console.log (typeof n);
Le résultat de sortie du programme est le nombre.
Obtenez le type de chaîne:
La copie de code est la suivante:
var s = "test";
console.log (typeof s);
Le résultat de sortie du programme est une chaîne.
Obtenez le type de valeur booléenne:
La copie de code est la suivante:
var b = true;
console.log (type de b);
Le résultat de sortie du programme est booléen.
Obtenez le type de NULL:
La copie de code est la suivante:
var x = null;
console.log (typeof x);
Le programme doit sortir NULL, mais il sort en fait l'objet. La raison en est que lors de l'utilisation de l'opération TypeOf sur les valeurs NULL, le programme renverra l'objet: il s'agit d'un bug qui a existé depuis la première version de JavaScript. Pendant la formulation de la norme ECMAScript, il y a eu des débats intéressants sur l'opportunité de corriger ce bogue: http://wiki.ecmascript.org/doku.php?id=harmony:typeof_null; La conclusion finale est que la correction de ce bogue entraînera des problèmes à trop de sites Web, il ne sera donc pas corrigé pour le moment.
Obtenez le type indéfini:
La copie de code est la suivante:
var y = non défini;
console.log (typeof y);
Le résultat de sortie du programme n'est pas défini.
Obtenez le type d'objet JSON:
La copie de code est la suivante:
var j = {"name": "bob", "age": 42};
console.log (typeof j);
Le résultat de sortie du programme est un objet.
Obtenez le type d'objet de tableau:
La copie de code est la suivante:
var a = [2,3,5,7,11];
console.log (typeof a);
Le résultat de sortie du programme est un objet.
Obtenez le type d'objet de fonction:
La copie de code est la suivante:
var f = function () {return true;};
console.log (typeof f);
L'objet de fonction est assez spécial et l'opérateur de type renvoie le résultat en fonction.