🧑🏻‍💻 Written by Riccardo Genova
JavaScriptLa classe "Object"

La Classe Object in JavaScript

La classe Object in JavaScript è una delle classi fondamentali del linguaggio, al punto che quasi tutti gli oggetti in JavaScript sono istanze di Object. Questa classe fornisce un insieme di metodi statici che sono utili per operazioni come la manipolazione, l’ispezione e la creazione di oggetti.

Object.assign(target, ...sources)

Questo metodo viene utilizzato per copiare tutte le proprietà enumerabili da uno o più oggetti sorgente a un oggetto target. Restituisce l’oggetto target.

Esempio:

const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
 
const returnedTarget = Object.assign(target, source);
 
console.log(target); // Output: { a: 1, b: 4, c: 5 }
console.log(returnedTarget); // Output: { a: 1, b: 4, c: 5 }

Object.create(proto, [propertiesObject])

Crea un nuovo oggetto con l’oggetto prototipo specificato e, opzionalmente, le proprietà specificate.

Esempio:

const person = {
  isHuman: false,
  printIntroduction: function () {
    console.log(`My name is ${this.name}. Am I human? ${this.isHuman}`);
  },
};
 
const me = Object.create(person);
 
me.name = "Alice"; // "nome" è una proprietà "propria" di "me"
me.isHuman = true; // ereditata proprietà può essere sovrascritta
 
me.printIntroduction(); // Output: My name is Alice. Am I human? true

Object.defineProperty(obj, prop, descriptor)

Definisce una nuova proprietà direttamente su un oggetto, o modifica una proprietà esistente su un oggetto, e restituisce l’oggetto.

Esempio:

const object1 = {};
 
Object.defineProperty(object1, "property1", {
  value: 42,
  writable: false,
});
 
object1.property1 = 77;
// la proprietà "property1" non è scrivibile, quindi rimane 42
 
console.log(object1.property1); // Output: 42

Object.entries(obj)

Restituisce un array di coppie [chiave, valore] delle proprietĂ  enumerabili di un dato oggetto.

Esempio:

const obj = { foo: "bar", baz: 42 };
console.log(Object.entries(obj)); // Output: [ ['foo', 'bar'], ['baz', 42] ]

Object.freeze(obj)

Congela un oggetto: impedisce l’aggiunta di nuove proprietà, rende tutte le proprietà esistenti non configurabili, e impedisce che i valori delle proprietà esistenti possano essere modificati.

Esempio:

const obj = {
  prop: 42,
};
 
Object.freeze(obj);
 
obj.prop = 33;
// Le modifiche non avranno effetto poiché l'oggetto è congelato
 
console.log(obj.prop); // Output: 42

Object.keys(obj)

Restituisce un array contenente i nomi delle proprietĂ  enumerabili di un dato oggetto.

Esempio:

const obj = { foo: "bar", baz: 42 };
console.log(Object.keys(obj)); // Output: ['foo', 'baz']

Object.values(obj)

Restituisce un array contenente i valori delle proprietĂ  enumerabili di un dato oggetto.

Esempio:

const obj = { foo: "bar", baz: 42 };
console.log(Object.values(obj)); // Output: ['bar', 42]

Object.hasOwnProperty(prop)

Restituisce un booleano che indica se l’oggetto ha la proprietà specificata come sua proprietà diretta.

Esempio:

const obj = { foo: "bar" };
 
console.log(obj.hasOwnProperty("foo")); // Output: true
console.log(obj.hasOwnProperty("baz")); // Output: false