Ein sauberer Ansatz
Sie können eine sehr kleine, abhängigkeitsfreie Bibliothek wie Not verwenden . Löst alle Probleme:
let number = 10
let array = []
not('number', 10)
not('number', [])
let not = Object.create(Not)
not.defineType({
primitive: 'number',
type: 'integer',
pass: function(candidate) {
return candidate.toFixed(0) === candidate.toString()
return Number.isInteger(candidate)
}
})
not.not('integer', 4.4)
not.is('integer', 4.4)
not.is('integer', 8)
Wenn Sie es sich zur Gewohnheit machen, wird Ihr Code viel stärker. Typoskript löst einen Teil des Problems, funktioniert aber zur Laufzeit nicht, was ebenfalls wichtig ist.
function test (string, boolean) {
not('string', string)
not('boolean', boolean)
}