Baseline Widely available
El operador in
devuelve true
si la propiedad especificada está en el objeto especificado o su prototipo.
prop
Una cadena o expresión númerica que representa el nombre de una propiedad o el Ãndice de un array (lo que no sea un sÃmbolo se forzará a string).
object
El objeto (o su cadena de prototipo) sobre el que comprobar si contiene la propiedad con el nombre especificado.
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 Compatibilidad con navegadores Vea también
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4