Guida per Principianti sugli Oggetti in JavaScript

Ciao a tutti, aspiranti programmatori! Sono entusiasta di essere il vostro guida in questo viaggio emozionante nel mondo degli oggetti JavaScript. Come qualcuno che ha insegnato programmazione per anni, posso dirvi che comprendere gli oggetti è come sbloccare un superpotere segreto in JavaScript. Allora, entriamo nel dettaglio!

JavaScript - Objects

Cos'è un Oggetto JavaScript?

Immaginate di descrivere il vostro cane. Potreste dire che ha un nome, un'età, una razza e un gioco preferito. In JavaScript, possiamo rappresentare questo cane come un oggetto, con tutte queste caratteristiche come le sue proprietà. Creiamo il nostro primo oggetto:

let myDog = {
name: "Buddy",
age: 3,
breed: "Golden Retriever",
favoriteToy: "palla sussurrante"
};

Questo è ciò che chiamiamo un oggetto letterale. È come un contenitore che tiene informazioni correlate. Ogni pezzo di informazione è una proprietà, con un nome (come "name" o "age") e un valore ("Buddy" o 3).

Proprietà degli Oggetti

Ora che abbiamo il nostro oggetto myDog, come possiamo accedere alle sue proprietà? Ci sono due modi:

  1. Notazione a punto:

    console.log(myDog.name); // Output: Buddy
  2. Notazione a parentesi quadre:

    console.log(myDog["age"]); // Output: 3

Entrambi fanno la stessa cosa, ma la notazione a parentesi quadre è utile quando il nome della proprietà è memorizzato in una variabile o contiene spazi.

Possiamo anche aggiungere nuove proprietà al nostro oggetto:

myDog.isGoodBoy = true;
console.log(myDog.isGoodBoy); // Output: true

O modificare quelli esistenti:

myDog.age = 4;
console.log(myDog.age); // Output: 4

Metodi degli Oggetti

I metodi sono funzioni che appartengono a un oggetto. Sono come le azioni che il nostro oggetto può eseguire. Aggiungiamo un metodo al nostro oggetto myDog:

myDog.bark = function() {
console.log("Bau Bau!");
};

myDog.bark(); // Output: Bau Bau!

Ora il nostro cane può abbaiare! Non è fantastico?

Creare Nuovi Oggetti

Abbiamo visto come creare oggetti utilizzando letterali di oggetti, ma c'è un altro modo utilizzando il costruttore Object():

let myCat = new Object();
myCat.name = "Whiskers";
myCat.age = 5;
myCat.meow = function() {
console.log("Miao!");
};

myCat.meow(); // Output: Miao!

Questo metodo è meno comune, ma è utile conoscerne l'esistenza.

Definire Metodi per un Oggetto

Possiamo definire metodi quando creiamo l'oggetto, proprio come abbiamo fatto con le proprietà:

let myParrot = {
name: "Polly",
age: 2,
speak: function() {
console.log("Polly wants a cracker!");
}
};

myParrot.speak(); // Output: Polly wants a cracker!

C'è anche un modo abbreviato per definire i metodi:

let myHamster = {
name: "Fuzzy",
age: 1,
run() {
console.log("Running on the wheel!");
}
};

myHamster.run(); // Output: Running on the wheel!

La Parola Chiave with

La parola chiave with può rendere il codice più breve quando si lavora con le proprietà dello stesso oggetto più volte:

with(myDog) {
console.log(name);
console.log(age);
bark();
}

Tuttavia, siate cauti con with, poiché può rendere il codice meno chiaro e non è raccomandato in modalità rigorosa.

Oggetti Nativi di JavaScript

JavaScript è dotato di diversi oggetti integrati che forniscono funzionalità utili. Ecco alcuni dei più comuni:

Oggetto Descrizione
String Rappresenta e manipola il testo
Number Rappresenta valori numerici
Boolean Rappresenta valori true/false
Array Rappresenta una lista di valori
Math fornisce operazioni matematiche
Date Rappresenta date e orari

Vediamo alcuni esempi:

let greeting = "Hello, World!";
console.log(greeting.length); // Output: 13

let pi = Math.PI;
console.log(pi); // Output: 3.141592653589793

let today = new Date();
console.log(today); // Output: data e ora corrente

Metodi degli Oggetti JavaScript

Gli oggetti in JavaScript vengono forniti con alcuni metodi integrati. Ecco alcuni dei più importanti:

Metodo Descrizione
Object.keys() Restituisce un array dei nomi delle proprietà di un oggetto
Object.values() Restituisce un array dei valori delle proprietà di un oggetto
Object.entries() Restituisce un array delle coppie [chiave, valore] delle proprietà di un oggetto
Object.assign() Copia le proprietà da un oggetto a un altro

Vediamo questi in azione:

let keys = Object.keys(myDog);
console.log(keys); // Output: ["name", "age", "breed", "favoriteToy", "isGoodBoy", "bark"]

let values = Object.values(myDog);
console.log(values); // Output: ["Buddy", 4, "Golden Retriever", "squeaky ball", true, ƒ]

let entries = Object.entries(myDog);
console.log(entries); // Output: [["name", "Buddy"], ["age", 4], ...]

let newDog = Object.assign({}, myDog);
console.log(newDog); // Output: una copia di myDog

Eccoci! Avete appena fatto i vostri primi passi nel mondo degli oggetti JavaScript. Ricordate, la pratica rende perfetti, quindi non abbiate paura di sperimentare con la creazione dei vostri oggetti e metodi. Prima di sapere, sarete in grado di gestire gli oggetti come un programmatore esperto!

Buon coding, e possa i vostri oggetti essere sempre privi di bug!

Credits: Image by storyset