recherche

Maison  >  Questions et réponses  >  le corps du texte

JavaScript ES6 pour Number.isFinite() et Number.isNaN()

J'apprends ES6 récemment et j'ai quelques questions sur l'expansion numérique.

ES6 fournit deux méthodes sur l'objet Number : Number.isFinite() et Number.isNaN()

La différence avec ES5 est qu'il annule la nécessité d'appeler Number() une fois pour convertir la valeur non numérique en valeur numérique avant de juger.

Remarque : La différence entre les deux méthodes et les méthodes traditionnelles isFinite() et isNaN() est que la méthode traditionnelle appelle d'abord Number() pour convertir la valeur non numérique en valeur numérique, puis juge. Ces deux méthodes ne sont valables que pour les valeurs numériques et renverront false pour les valeurs non numériques.

Je ne comprends pas très bien pourquoi nous faisons cela. Je pense qu'il ne serait pas préférable d'appeler Number() une fois pour convertir la valeur non numérique en valeur numérique avant de juger ?

巴扎黑巴扎黑2748 Il y a quelques jours557

répondre à tous(2)je répondrai

  • phpcn_u1582

    phpcn_u15822017-05-18 10:54:30

    Vous pouvez consulter la description de MDN

    Quant à isFinite, vous pouvez comparer Number.isFinite(true) et isFinite(true) pour savoir. Bien sûr, Number.isFinite("") et isFinite("") fonctionneront également.

    répondre
    0
  • 黄舟

    黄舟2017-05-18 10:54:30

    Ces deux fonctions sont utilisées pour déterminer si une valeur est limitée ou NaN sur un nombre. La prémisse est un nombre. Si des opérations cachées internes telles qu'une chaîne sont converties en nombres, la signification directement exprimée par elles sera perdue, et elle le sera également. apporter Pour certains autres problèmes, il devient possible de juger non seulement des nombres, mais également des types tels que des chaînes.
    Lien de référence :

    es6
    isNaN

    répondre
    0
  • Annulerrépondre