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 !< .