Un comando Javascript poco conosciuto ma molto efficace


Ecco un comando Javascript poco conosciuto ma molto efficace che potrebbe semplificare il tuo codice e rendere il tuo software più efficiente.
di Antonio Lamorgese


In questo articolo esploreremo un comando javascript poco conosciuto ma molto efficace. Più precisamente il metodo, freeze dell’oggetto globale Object. Questo metodo speciale ti consente di rendere un oggetto immutabile, ovvero non modificabile. Ma prima di vedere nel dettaglio come funziona freeze, cerchiamo di capire bene cosa fa l’oggetto globale Object.

Cosa fa l’oggetto globale Object in Javascript?

In JavaScript, l’oggetto globale Object è un costruttore che viene utilizzato per creare oggetti. Puoi utilizzare il costruttore Object per creare un nuovo oggetto in questo modo:

let myObject = new Object();

Puoi anche creare un oggetto in modo più conciso utilizzando la sintassi prevista dal linguaggio:

let myObject = {};

L’oggetto globale Object ha alcune proprietà e metodi incorporati che possono essere utili nella programmazione JavaScript. Ad esempio, l’oggetto Object ha un metodo keys() che restituisce un array delle chiavi di un oggetto:

let myObject = { a: 1, b: 2, c: 3 };
let keys = Object.keys(myObject)
console.log(keys); // output: ["a", "b", "c"]

L’oggetto Object ha anche un metodo assign() che può essere utilizzato per copiare le proprietà di un oggetto in un altro oggetto:

let obj1 = { a: 1 };
let obj2 = { b: 2 };
let obj3 = Object.assign({}, obj1, obj2);
console.log(obj3); // output: { a: 1, b: 2 }

In generale, l’oggetto globale Object viene utilizzato principalmente come costruttore per creare oggetti in JavaScript e fornisce alcuni metodi utili per manipolare gli oggetti. Come ti ho già anticipato, un metodo poco conosciuto ma molto efficace, è il metodo freeze. Ora vediamo nel dettaglio come funziona questo metodo speciale.

Cosa puoi fare con Object.freeze?

In JavaScript, gli oggetti sono dati per riferimento, il che significa che quando crei una variabile oggetto, stai creando un puntatore a un’area di memoria in cui è memorizzato l’oggetto. Se si modifica la variabile oggetto, si sta modificando il puntatore, non l’oggetto stesso.

Object.freeze consente di bloccare un oggetto, impedendo la sua modifica. Quando un oggetto viene congelato, non è possibile aggiungere, eliminare o modificare le proprietà dell’oggetto. L’uso di Object.freeze è particolarmente utile in situazioni in cui si desidera garantire che l’oggetto rimanga immutabile, come ad esempio in applicazioni di condivisione dei dati.


Leggi anche: Come creare un sito web e Script in PHP velocemente


Come si utilizza Object.freeze?

Il comando Object.freeze accetta un oggetto come argomento e restituisce l’oggetto stesso, che è stato congelato. Vediamo un esempio:

const myObj = {
  name: "John",
  age: 30
};
Object.freeze(myObj);

In questo esempio, abbiamo creato un oggetto myObj con due proprietà, “name” e “age”. Abbiamo poi chiamato il comando Object.freeze per congelare l’oggetto. Dopo la chiamata a Object.freeze, non sarà possibile aggiungere, eliminare o modificare le proprietà dell’oggetto myObj.

myObj.name = "Mike";
console.log(myObj.name); // Output: "John"

Come si può vedere dall’esempio, quando abbiamo cercato di modificare la proprietà “name” dell’oggetto myObj, il valore non è cambiato e la proprietà rimane uguale a “John”.

Inoltre, se si tenta di aggiungere una nuova proprietà all’oggetto myObj, si otterrà un errore:

myObj.location = "New York";
console.log(myObj.location); // Output: undefined

In questo esempio, abbiamo cercato di aggiungere una nuova proprietà “location” all’oggetto myObj, ma il valore della proprietà rimane “undefined”. Questo perché l’oggetto è stato congelato e non è possibile aggiungere nuove proprietà.

Limitazioni di Object.freeze

Sebbene Object.freeze sia un metodo utile per rendere gli oggetti immutabili, presenta alcune limitazioni. In particolare, con Object.freeze puoi congelare solo le proprietà dell’oggetto di primo livello, ma non le proprietà degli oggetti annidati all’interno dell’oggetto principale. Ad esempio:

const myObj = {
  name: "John",
  age: 30,
  address: {
    street: "123 Main St.",
    city: "New York"
  }
};
Object.freeze(myObj);
myObj.address.city = "Los Angeles";
console.log(myObj.address.city); // Output: "Los Angeles"

Infatti, in questo esempio, l’oggetto myObj ha una proprietà “address”, che contiene un altro oggetto con due proprietà. Ma le proprietà dell’oggetto figlio non vengono minimamente interessate da freeze.

Se sei interessato a vedere all’opera il metodo freeze puoi seguire questo breve video tutorial dove potrai conoscere un altro metodo, il metodo Seal, anch’esso molto utile se sviluppi con Javascript e sei intenzionato a realizzare software più robusti ed efficienti.

Il metodo Freeze di Javascript

Conclusione

In conclusione, il comando Javascript che abbiamo appena esplorato può sembrare poco noto ma è incredibilmente utile per migliorare l’efficienza del nostro codice. L’uso di questo comando può ridurre la quantità di codice che dobbiamo scrivere e semplificare i nostri programmi. Quindi, la prossima volta che stai scrivendo codice Javascript, assicurati di considerare l’utilizzo di questo comando per migliorare la tua produttività. Sperimenta e gioca con questo comando per scoprire come può essere utilizzato al meglio nel tuo prossimo progetto.

Antonio Lamorgese


Desideri acquisire nuove competenze?

corsi.it

Seguire questo corso online ti offrirà
l'opportunità di acquisire nuove competenze e di
migliorare il tuo curriculum professionale.
Clicca qui per seguire le prime lezioni gratuite online

Corsi.it - Il portale Nr.1 al mondo di corsi online


Amministratore di rete e sviluppatore. Dopo anni di esperienza nel settore, ho ideato un sistema di gestione dati MYSQL in PHP senza scrivere una sola riga di codice. Scopri di più....