print node example array javascript instanceof

node - print instanceof javascript



Javascript! Instanceof Si la declaración (3)

Esta es una pregunta realmente básica solo para satisfacer mi curiosidad, pero ¿hay alguna manera de hacer algo como esto?

if(obj !instanceof Array) { //The object is not an instance of Array } else { //The object is an instance of Array }

La clave aquí es poder usar el NOT! frente a instancia. Por lo general, la forma en que tengo que configurar esto es así:

if(obj instanceof Array) { //Do nothing here } else { //The object is not an instance of Array //Perform actions! }

Y es un poco molesto tener que crear una declaración else cuando simplemente quiero saber si el objeto es de un tipo específico.


Encerrar entre paréntesis y negar en el exterior.

if(!(obj instanceof Array)) { //... }


Es fácil olvidar los paréntesis (corchetes) para que pueda hacer un hábito de hacer:

if(obj instanceof Array === false) { //The object is not an instance of Array }

o

if(false === obj instanceof Array) { //The object is not an instance of Array }

Pruébalo here


if (!(obj instanceof Array)) { // do something }

Es la forma correcta de verificar esto, como ya han respondido otros. Las otras dos tácticas que se han sugerido no funcionarán y deberían entenderse ...

En el caso de ! operador sin corchetes.

if (!obj instanceof Array) { // do something }

En este caso, el orden de precedencia es importante ( https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Operator_Precedence ). El ! operador precede al operador instanceof . Entonces !obj evaluado a false primero (es equivalente a ! Boolean(obj) ); entonces estás probando si la false instanceof Array , que obviamente es negativa.

En el caso de ! operador antes del operador instanceof .

if (obj !instanceof Array) { // do something }

Este es un error de sintaxis Los operadores como != Son un solo operador, a diferencia de NO aplicado a un EQUAL. No existe un operador como !instanceof del mismo modo que no hay operador !< .