est-pas une gamme, l'expression 1..z
retournera simplement undefined
.
Pourquoi?
Le premier point met fin à une représentation d'un Numeric Literal, vous donnant une Number
primitive:
var n = 1.;
La grammaire d'un littérales numérique est exprimé comme ceci:
DecimalIntegerLiteral . DecimalDigitsopt ExponentPartopt
Comme vous pouvez le voir La partie DecimalDigits après le point est facultative (suffixe opt).
Le second point est l'accesseur de la propriété, il va essayer seulement d'obtenir la propriété z
, qui est undefined
parce qu'il n'existe pas sur l'objet Number.prototype
:
1..z; // undefined
1..toString(); // "1"
équivaut à accéder à une propriété avec l'accesseur de propriété notation de parenthèse:
1['z']; // or
1['toString']();
merci d'avoir désamorcé la désinformation – spender
Réponse impressionnante. – Nicole
Merci! Très bonne explication. – Roman