Resumen
El operador in
retorna true
si la propiedad especificada está en el objeto especificado.
Sintaxis
prop in objectName
Parámetros
prop
- Una cadena o expresión númerica que representa el nombre de una propiedad o el índice de una matriz.
objectName
- El nombre de un objeto.
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 // retorna true 3 in arboles // retorna true 6 in arboles // retorna false "pino" in arboles // retorna false (debe especificar el número de índice, // no el valor del índice) "length" in arboles // retorna true (length es una propiedad de el Array) // Objetos predefinidos "PI" in Math // retorna true // Objetos personalizados var micarro = {marca: "Honda", modelo: "Accord", año: 1998}; "marca" in micarro // retorna true "modelo" in micarro // retorna 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 // retorna true var color2 = "coral"; "length" in color2 // genera un error (color2 no es un objeto String)
Usando in
con propiedades de eliminar o indefinido
Si usted elimina una propiedad con el operador delete
, el operador in
retorna false
para esa propiedad.
var micarro= {marca: "Honda", modelo: "Accord", año: 1998}; delete micarro.marca; "marca" in micarro; // retorna false var arboles = new Array("secoya", "pino", "cedro", "roble", "arce"); delete arboles[3]; 3 in arboles; // retorna false
Si usted cambia una propiedad a indefinido pero no lo elimina, el operador in
retorna true para esa propiedad.
var micarro= {marca: "Honda", modelo: "Accord", año: 1998}; micarro.marca= undefined; "marca" in micarro; // retorna true
var arboles = new Array("secayo", "pino", "cedro", "roble", "arce"); arboles[3] = undefined; 3 in arboles; // retorna true
Propiedades heredadas
El operador in
retorna true
para propiedades en el prototipo de la cadena. En el ejemplo el método toString() de Object
"toString" in {}; // retorna true