Maison > interface Web > js tutoriel > Quels sont les types de données en JavaScript ?

Quels sont les types de données en JavaScript ?

青灯夜游
Libérer: 2023-01-03 09:31:51
original
34204 Les gens l'ont consulté

Javascript dispose de 9 types de données, à savoir : Chaîne, Nombre, Booléen, Null, Non défini, Symbole, Objet, Tableau, Fonction (Fonction).

Quels sont les types de données en JavaScript ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, ECMAScript version 5, ordinateur Dell G3.

Type de données JavaScript :

Chaque valeur du langage JavaScript appartient à un certain type de données. Il existe 9 types de données en JavaScript :

  • Type de valeur (type de base) : Chaîne, Nombre, Booléen, Null, Définition inconnue (Non définie), Symbole.

  • Types de données de référence : Objet, Tableau, Fonction.

Remarque : Symbol est un nouveau type de données primitif introduit dans ES6 pour représenter des valeurs uniques.

1. Non défini : Le type Non défini n'a qu'une seule valeur, qui est la valeur spéciale non définie. Lorsqu'une variable est déclarée à l'aide de var mais n'est pas initialisée, la valeur de la variable n'est pas définie.

2. Null : Le type Null est le deuxième type de données avec une seule valeur. Sa valeur spéciale est Null. D'un point de vue logique, null est un pointeur d'objet vide. Et c'est pourquoi l'utilisation de l'opérateur typeof pour détecter les valeurs nulles renverra "objet".

3. Booléen : Le type booléen, qui a deux valeurs : vrai

faux. Il convient de noter que les valeurs littérales true et false de type booléen sont sensibles à la casse. En d’autres termes, True et False (et autres formes de tailles mixtes) ne sont pas des valeurs booléennes, mais simplement des identifiants.

4. Nombre : Ce type de représentation a deux formes, la première est un nombre entier et la seconde est un nombre à virgule flottante. Entier : peut être représenté par des valeurs littérales décimales, octales et hexadécimales. Nombre à virgule flottante : la valeur doit contenir un point décimal et il doit y avoir un chiffre après le point décimal.

5. String : Le type String est utilisé pour représenter une séquence de caractères composée de zéro ou plusieurs caractères Unicode de 16 bits, c'est-à-dire une chaîne. Quant à savoir s'il faut utiliser des guillemets simples ou doubles, il n'y a toujours pas de différence en js. Pensez à venir à deux.

6. Type de symbole

Les symboles sont nouvellement définis par ECMAScript version 6. Le type de symbole est unique et ne peut pas être modifié

var s = Symbol()
Copier après la connexion

La nouvelle commande ne peut pas être utilisée avant la fonction Symbole, sinon une erreur sera signalée. En effet, le symbole généré est une valeur de type primitif, pas un objet

La fonction Symbol peut accepter une chaîne comme paramètre, représentant une description de l'instance Symbol

Objet : données d'objet. type , appelé objet, est un ensemble de données et de fonctionnalités (fonctions). Il peut être créé à l'aide de l'opérateur new suivi du nom du type d'objet à créer. Peut également être créé en utilisant la notation littérale. Ajoutez une propriété avec un nom différent (n'importe quelle chaîne, y compris la chaîne vide).

8. Tableau

Les tableaux JavaScript sont écrits entre crochets. Les éléments du tableau sont séparés par des virgules.

Le code suivant déclare (crée) un tableau nommé cars avec trois éléments (marques de voitures) :

var cars = ["Porsche", "Volvo", "BMW"];
Copier après la connexion

L'index du tableau est de base zéro, ce qui signifie que le premier élément est [ 0], le deuxième élément est [1], et ainsi de suite.

Les tableaux dans ECMAScript sont assez différents des tableaux dans d'autres langages :

  • Chaque élément d'un tableau ECMAScript peut enregistrer n'importe quel type de données ;

  • La taille du tableau ECMAScript peut être ajustée dynamiquement et des éléments peuvent être ajoutés ou supprimés du tableau

[Apprentissage recommandé : Tutoriel de base js< ; 🎜> 】

9. Fonction

Les fonctions dans ECMAScript sont des objets et ont des propriétés et des méthodes comme les autres types de référence. Par conséquent, le nom de la fonction est en réalité un pointeur vers l’objet fonction.

1), déclaration de fonction

function sum(num1,num2){    
    return num1+num2;
}//函数声明

var sum = function(num1,num2){  
    return num1+num2;
};     //函数表达式 这里的分号很重要
Copier après la connexion

2), pas de surcharge

function addSomeNumber(num){    
    return num + 100;
}

function addSomeNumber(num){    
    return num + 200;
}

var result = addSomeNumber(100);  //300
Copier après la connexion

Lors de la création de la deuxième fonction, la variable addSomeNumber qui fait référence à la première fonction est écrasée.

3), déclaration de fonction et expression de fonction

alert (sum(10,10));
function sum(num1,num2){    
    return num1+num2;
}
Copier après la connexion

Un code comme celui-ci peut être exécuté normalement. Avant que le code ne commence à s'exécuter, l'analyseur lira d'abord la déclaration de fonction et l'ajoutera à l'environnement d'exécution. Avant que le code ne soit évalué, le moteur JS déclarera les fonctions lors du premier passage et les placera en haut de l'arborescence du code source. . Mais le changer en expression de fonction provoquera une erreur.

4), fonction comme valeur

  • Passer une fonction à une autre fonction comme passer des paramètres

  • function callSomeFunction(someFunction,someArgument){   
        return someFunction(someArgument);
    }
    
    function add10(num){
        return num+10;
    }
    
    var result1 = callSomeFunction(add10,10);
    alert(result1);  //20
    
    function getGreeting(name){
        return "Hello"+name;
    }
    var result2 = callSomeFunction(getGreeting,"Mike");
    alert(result2);  //Hello Mike
    
    //callSomeFunction是通用的,函数作为第一个参数传递进去,返回执行第一个参数后的结果
    Copier après la connexion
  • Renvoyer une fonction à partir d'une autre fonction

  • function createComparisonFunction(propertyName){
        return function(object1,object2){
            var value1 = object1[propertyName];
            var value2 = object2[propertyName];
            if(value1<value2){
                return -1;
            }else if(value1>value2){
                return 1;
            }else{
                return 0;
            }
        }
    }
    
    var date = [{name:"Mike", age:28},{name:"Amy", age:29}];//创建包含两个对象的数组
    date.sort(creatComparisonFunction("name"));
    alert(date[0].name);//Amy
    date.sort(creatComparisonFunction("age"));
    alert(date[0].name);//Mike
    Copier après la connexion
    Pour plus de connaissances sur la programmation, veuillez visiter :

    Vidéo de programmation ! !

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal