in
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2015.
El operador in devuelve true si la propiedad especificada está en el objeto especificado o su prototipo.
Sintaxis
prop in object
Parámetros
Descripción
Los siguientes ejemplos muestran algunos de los usos del operador in.
// Arrays var arboles = new Array("secoya", "pino", "cedro", "roble", "arce"); 0 in arboles; // devuelve true 3 in arboles; // devuelve true 6 in arboles; // devuelve false "pino" in arboles; // devuelve false (debe especificar el número de índice, // no el valor del índice) "length" in arboles; // devuelve true (length es una propiedad de Array) // Objetos predefinidos "PI" in Math; // devuelve true // Objetos personalizados var micoche = { marca: "Honda", modelo: "Accord", año: 1998 }; "marca" in micoche; // devuelve true "modelo" in micoche; // devuelve true Debe especificar un objeto en el lado derecho del operador in. Por ejemplo, puede especificar una cadena creada con el constructor String , pero no puede especificar una cadena literal.
var color1 = new String("verde"); "length" in color1; // devuelve true var color2 = "coral"; "length" in color2; // genera un error (color2 no es un objeto String) Usando in con propiedades eliminadas o no definidas
Si se elimina una propiedad con el operador delete, el operador in devuelve false para esa propiedad.
var micoche = { marca: "Honda", modelo: "Accord", año: 1998 }; delete micoche.marca; "marca" in micoche; // devuelve false var arboles = new Array("secoya", "pino", "cedro", "roble", "arce"); delete arboles[3]; 3 in arboles; // devuelve false Si se cambia una propiedad a undefined pero no se elimina, el operador in devuelve true para esa propiedad.
var micoche = { marca: "Honda", modelo: "Accord", año: 1998 }; micoche.marca = undefined; "marca" in micoche; // devuelve true var arboles = new Array("secayo", "pino", "cedro", "roble", "arce"); arboles[3] = undefined; 3 in arboles; // devuelve true Propiedades heredadas
El operador in devuelve true para propiedades en la cadena del prototipo.
"toString" in {}; // devuelve true Especificaciones
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-relational-operators> |