wobei x eine beliebige Anzahl von der Integer-Typ ist?
Integer ist kein type in ECMAScript, so dass, wenn eine Bedingung ist, dann müssen Sie zunächst zu prüfen, ob x eine ganze Zahl ist, so etwas wie:
Number.isInteger(value) && Infinity > value;
wird die Arbeit machen.
Der isInteger Test ist streng, so dass, wenn Wert eine Zeichenkette wie "2" ist, wird es scheitern. Wenn Strings erlaubt sein sollte, dann Anzahl zuerst konvertieren, z.B .:
Number.isInteger(+value) && Infinity > value;
verwenden Number.isInteger, Unterstützung für ECMAScript 2015 ist erforderlich, damit IE entschuldigt, MDN eine polyfill hat.
Wenn Sie versuchen, nur um zu testen, ob Wert eine endliche ganze Zahl ist, dann nur:
Number.isInteger(value);
die für Unendlichkeit und -Infinity und gilt für alle ganzen Zahlen zwischen false zurückgibt (das kann in ECMAScript dargestellt werden).
vielleicht '-Infinity'? – CodinCat
Bestimmte Objekte geben "true" zurück. Zum Beispiel ist 'new Date()> 4' 'true' und' typeof new Date() 'ist' "object" '. Nicht sicher, warum Sie einen Nicht-Nummern-Typ mit einer Zahl vergleichen möchten. –
@CodinCat -Infinity ist nicht größer als eine beliebige Zahl: p –