Maison > Questions et réponses > le corps du texte
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 ?
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.
黄舟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