Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
in operator
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julho de 2015.
Ooperadorin retornatrue se a propriedade especificada estiver no objeto especificado ou na sua cadeia de protótipo (prototype chain) desde objeto.
In this article
Sintaxe
prop in object
Parâmetros
Descrição
Os exemplos a seguir mostram alguns usos do operadorin.
// Arraysvar trees = ["redwood", "bay", "cedar", "oak", "maple"];0 in trees; // retorna true3 in trees; // retorna true6 in trees; // retorna false"bay" in trees; // retorna false (você precisa especificar o// número do índice, não o valor naquele índice)"length" in trees; // retorna true (length é uma propridade do Array)Symbol.iterator in trees; // retorna true (arrays são iteráveis, funciona apenas na ES2015+)// Objetos predefinidos"PI" in Math; // retorna true// Objetos personalizadosvar mycar = { make: "Honda", model: "Accord", year: 1998 };"make" in mycar; // retorna true"model" in mycar; // retorna trueVocê precisa especificar um objeto no lado direito do operadorin. Por exemplo, você pode especifica um string criado com o construtorString, mas você não pode especificar um string literal.
var color1 = new String("green");"length" in color1; // retorna truevar color2 = "coral";// gera um erro (color2 não é um objeto String)"length" in color2;Usandoin com propriedade removida ou undefined
Se você remover uma propriedade com o operadordelete , o operadorin retornafalse para essa propriedade.
var mycar = { make: "Honda", model: "Accord", year: 1998 };delete mycar.make;"make" in mycar; // retorna falsevar trees = new Array("redwood", "bay", "cedar", "oak", "maple");delete trees[3];3 in trees; // retorna falseSe você definir uma propriedade comoundefined, mas não a remover, o operadorin retornatrue para essa propriedade.
var mycar = { make: "Honda", model: "Accord", year: 1998 };mycar.make = undefined;"make" in mycar; // retorna truevar trees = new Array("redwood", "bay", "cedar", "oak", "maple");trees[3] = undefined;3 in trees; // retorna truePropriedades herdadas
O operadorin retornatrue para propriedades que estão na cadeida de protótipo (prototype chain).
"toString" in {}; // retorna trueEspecificações
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-relational-operators> |