0
votes

types de tableaux 2D sortent pour être String. Pourquoi?

  • J'ai quelque chose qui ressemble à un tableau 2D.
  • typeof certains tableaux renverront toujours un objet .
  • Alors, pourquoi dans l'exemple suivant, le type de retour est string ?
  • <script>
    
      var x = [typeof x, typeof y][1];
      console.log(typeof x);
    
    </script>

0 commentaires

3 Réponses :


1
votes

typeof est évalué à une chaîne, donc

[<someString>, <someString>]

quel que soit le code x et y > are, se résoudra en un tableau comme

[typeof x, typeof y]

L'accès au [1] ième index de ce tableau vous donnera l'une de ces chaînes, donc typeof donne 'string'.


0 commentaires

2
votes

[typeof x, typeof y] donne la valeur ["undefined", "undefined"] . [typeof x, typeof y] [1] donne la valeur "indéfini" .


0 commentaires

1
votes

Eh bien, typeof renvoie une chaîne, donc tout typeof typeof sera également une chaîne:

var x = [typeof x, typeof y];
console.log(x); //returns ["undefined", "undefined"]
var myVar = x[1];
console.log(myVar); //returns "undefined"
console.log(typeof myVar); //returns string, because "undefined" is a string

Dans le code ci-dessus, [typeof x, typeof y] est égal à ["undefined", "undefined"] .

Voici une démonstration simple:

var x = [typeof x, typeof y][1]; //x is undefined when this is run
console.log(typeof x); //typeof "undefined" == string


0 commentaires