MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

operatore in

Questa traduzione è incompleta. Collabora alla traduzione di questo articolo dall’originale in lingua inglese.

L' operatore in da come ritorno true se la proprietà specificata si trova nell'oggetto preso in considerazione.

Sintassi

prop in nomeOggetto

Parametri

prop
Una stringa o simbolo che rappresenta il nome di una proprietà o indice di un array (i non-simboli verranno automaticamente convertiti in stringhe).
nomeOggetto
Nome di un oggetto.

Descrizione

The following examples show some uses of the in operator.

// Array
var alberi = ["sequoia", "lauro", "cedro", "quercia", "acero"];
0 in alberi        // ritorna true
3 in alberi        // ritorna true
6 in alberi        // ritorna false
"bay" in alberi    // ritorna false (devi specificare il  
                  // numero dell'indice, non il valore corrispondente a quell'indice)
"length" in alberi // ritorna true (length è una proprietà degli array)
Symbol.iterator in alberi // ritorna true (gli array sono iterabili, funziona solo in ES6+)

// Oggetti predefiniti
"PI" in Math          // ritorna true

// Oggetti personalizzati
var miaAuto = {marca: "Honda", modello: "Accord", anno: 1998};
"marca" in miaAuto  // ritorna true
"modello" in miaAuto // ritorna true

Devi specificare un oggetto sul lato destro dell'operatore in. Per esempio, puoi specificare una stringa creata con il costruttore String, ma non puoi specificare una stringa literal.

var colore1 = new String("verde");
"length" in colore1 // ritorna true

var color2 = "coral";
// genera un errore (colore2 non è un oggetto String)
"length" in colore2

Usare l'operatore in con le proprietà deleted o undefined

Se elimini una proprietà con l'operatore delete, l'operatore in ritorna false per quella proprietà.

var miaAuto = {marca: "Honda", modello: "Accord", anno: 1998};
delete miaAuto.marca;
"marca" in miaAuto;  // ritorna false

var alberi = new Array("sequoia", "lauro", "cedro", "quercia", "acero");
delete alberi[3];
3 in alberti; // ritorna false

Se setti una proprietà ad undefined ma non la cancelli, l'operatore in darà come ritorno true per quella proprietà.

var miaAuto = {marca: "Honda", modello: "Accord", anno: 1998};
miaAuto.marca = undefined;
"marca" in miaAuto;  // ritorna true
var alberi = new Array("sequoia", "lauro", "cedro", "quercia", "acero");
alberi[3] = undefined;
3 in alberi; // ritorna true

Proprietà ereditate

L'operatore in ritorna true per proprietà ereditate tramite prototipi.

"toString" in {}; // returns true

Specifiche

Specification Status Comment
ECMAScript 2017 Draft (ECMA-262)
The definition of 'Relational Operators' in that specification.
Draft  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Relational Operators' in that specification.
Standard  
ECMAScript 5.1 (ECMA-262)
The definition of 'The in Operator' in that specification.
Standard  
ECMAScript 3rd Edition (ECMA-262)
The definition of 'The in Operator' in that specification.
Standard Definizione iniziale. Implementato in JavaScript 1.4.

Compatibilità con i browser

Feature Chrome Firefox (Gecko) Edge Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Vedi anche

Tag del documento e collaboratori

 Hanno collaborato alla realizzazione di questa pagina: Crowbit
 Ultima modifica di: Crowbit,