typeof JavaScript

typeof JavaScript

Il y a 5 types de données différents qui peuvent contenir des valeurs dans JavaScript :

  • string
  • number
  • boolean
  • object
  • function

Il y a 6 types d'objets :

  • Object
  • Date
  • Array
  • String
  • Number
  • Boolean

et 2 types de données qui ne peuvent pas contenir de valeurs :

  • null
  • undefined

l'opérateur typeof

Vous pouvez utiliser typeof Les opérateurs pour déterminer le type de données d'une variable JavaScript.

Exemple

typeof "Bill"                 // Retourne "string"
typeof 3.14                   // Retourne "number"
typeof NaN                    // Retourne "number"
typeof false                  // Retourne "boolean"
typeof [1,2,3,4]              // Retourne "object"
typeof {name:'Bill', age:19}  // Retourne "object"
typeof new Date()             // Retourne "object"
typeof function () {}         // Retourne "function"
typeof myCar                  // Retourne "undefined" *
typeof null                   // Retourne "object"

Essayez-le vous-même

Veuillez noter :

  • Le type de données de NaN est number
  • Le type de données du tableau est object
  • Le type de données de la date est object
  • Le type de données de null est object
  • Le type de données d'une variable non définie est undefined *
  • Le type de données d'une variable non assignée est également undefined *

Vous ne pouvez pas utiliser typeof Pour déterminer si un objet JavaScript est un tableau (ou une date).

Date brute

La valeur de données brute fait référence à une valeur de données simple non accompagnée de propriétés et de méthodes.

typeof Les opérateurs peuvent renvoyer l'un des types de données originaux suivants :

  • string
  • number
  • boolean
  • undefined

Exemple

typeof "Bill"              // Retourne "string"
typeof 3.14                // Retourne "number"
typeof true                // Retourne "boolean"
typeof false               // Retourne "boolean"
typeof x                   // Retourne "undefined" (si x n'a pas de valeur)

Essayez-le vous-même

Données complexes

typeof L'opérateur peut retourner l'un des deux types complexes suivants :

  • function
  • object

typeof L'opérateur typeof retourne "object" pour les objets, les tableaux et null.

typeof L'opérateur typeof ne retourne pas "object" pour les fonctions.

Exemple

typeof {name:'Bill', age:19} // Retourne "object"
typeof [1,2,3,4]             // Retourne "object"(non "array",veuillez noter les exemples ci-dessous)
typeof null                  // Retourne "object"
typeof function myFunc(){}   // Retourne "function"

Essayez-le vous-même

typeof L'opérateur typeof retourne "object" pour les tableaux. "object",parce que les tableaux sont des objets en JavaScript.

Les types de données du typeof

typeof L'opérateur typeof n'est pas une variable. C'est simplement un opérateur. Les opérateurs (+ - * /) n'ont pas de type de données.

Mais,typeof L'opérateur est toujoursRetourne une chaîne( incluant le type de l'opérande)。

L'attribut constructor

constructor L'attribut retourne le constructeur de toutes les variables JavaScript.

Exemple

"Bill".constructor                // Retourne function String()  {[code natif]}
(3.14).constructor                // Retourne function Number()  {[code natif]}
false.constructor                 // Retourne function Boolean() {[code natif]}
[1,2,3,4].constructor             // Retourne function Array()[native code]
{name:'Bill',age:19}.constructor  // Retourne function Object()[native code]
new Date().constructor            // Retourne function Date()[native code]
function () {}.constructor        // Retourne function Function()[native code]

Essayez-le vous-même

Vous pouvez vérifier la propriété constructor pour déterminer si un objet est un tableau (y compris "Array" (terme) :

Exemple

function isArray(myArray) {
  return myArray.constructor.toString().indexOf("Array") > -1;
}

Essayez-le vous-même

ou plus simplement, vous pouvez vérifier si un objet estFonction d'array:

Exemple

function isArray(myArray) {
  return myArray.constructor === Array;
}

Essayez-le vous-même

Vous pouvez vérifier la propriété constructor pour déterminer si un objet est une date (y compris "Date" (terme) :

Exemple

function isDate(myDate) {
  return myDate.constructor.toString().indexOf("Date") > -1;
}

Essayez-le vous-même

ou plus simplement, vous pouvez vérifier si un objet estFonction de date:

Exemple

function isDate(myDate) {
  return myDate.constructor === Date;
}

Essayez-le vous-même

Undefined

En JavaScript, la valeur d'une variable sans valeur est undefined. Le type est également undefined

Exemple

let car;    // La valeur est undefined, le type est également undefined.

Essayez-le vous-même

en définissant sa valeur à undefinedpeut vider n'importe quelle variable. Le type sera également undefined

Exemple

car = undefined;    // La valeur est undefined, le type est également undefined.

Essayez-le vous-même

Une valeur vide

Une valeur vide avec undefined Sans rapport.

Une chaîne vide a à la fois une valeur légitime et un type.

Exemple

let car = "";    // La valeur est "", le type est "string"

Essayez-le vous-même

Null

En JavaScript, null est appelé "vide". Il devrait être quelque chose d'inexistant.

Malheureusement, en JavaScript,null Le type de données est un objet.

Vous pouvez le considérer comme un bug dans JavaScript.typeof null est un objet. Le type devrait être null

Vous pouvez définir l'objet comme null Pour vider l'objet :

Exemple

let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"};
person = null;    // Maintenant, la valeur est null, mais le type reste objet

Essayez-le vous-même

Vous pouvez également vider l'objet en le définissant comme undefined Pour vider l'objet :

Exemple

let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"};
person = undefined;   // Maintenant, la valeur et le type sont tous deux undefined

Essayez-le vous-même

Différences entre undefined et null

undefined et null Valeurs égales mais types différents :

typeof undefined           // undefined
typeof null                // object
null === undefined         // false
null == undefined          // true

Essayez-le vous-même