Un post veloce per quanto riguarda i concetti più importanti e frequenti dello JavaScript avanzato o che possiamo dire Object Oriented Programming JavaScript.

Gli oggetti sono dei concetti chiave di JavaScript. Iniziamo rapidamente a scrivere un po’ di codice e concetti per capire di cosa si tratta. Gli oggetti si creano con metodi, proprietà e attributi, che impacchettiamo all’interno di tale oggetto e viene chiamato incapsulamento; metodi e attributi sono astratte da altri oggetti e per questo motivo viene detta astrazione.

JavaScript è stato progettato su un semplice paradigma object-based. Un oggetto è un insieme di proprietà, e una proprietà è un’associazione tra un nome (o chiave) e un valore. Il valore di una proprietà può essere una funzione, nel qual caso la struttura è nota come metodo. Oltre agli oggetti che sono predefiniti nel browser, è possibile definire i propri oggetti. Questo capitolo descrive come utilizzare gli oggetti, proprietà, funzioni e metodi, e come creare i propri oggetti.

Fonte

JavaScript is designed on a simple object-based paradigm. An object is a collection of properties, and a property is an association between a name (or key) and a value. A property’s value can be a function, in which case the property is known as a method. In addition to objects that are predefined in the browser, you can define your own objects. This chapter describes how to use objects, properties, functions, and methods, and how to create your own objects.

mozilla mdn

Ci sono due principi di OOP in js

  1. Modello di creazione di oggetti (incapsulamento)
  2. Modello di riutilizzo degli oggetti (eredità)

Ci sono molti modi per creare un oggetto:

Oggetto letterale Ubiquitous
var myOoj =  {
    name: "Pippo",
    city: "Arezzo",
    amori: "tanti"
}
Modello Prototype
function myFun() {};
myFun.prototype.name = "Pippo";
myFun.prototype.city = "Arezzo";
var myFun1 = new myFun();
console.log(myFun1.name); //Pippo
Modello Constructor
function myFun (name, city, amori){
    this.name = name;
    this.city = city;
    this.amori= amori;
}
var myFun1 = new myFun ("Nikki", "New Delhi", "so much things");
console.log(myFun1.name); //Pippo

Anche se ci sono tanti modi per creare gli oggetti, il modo migliore per farlo potrebbe essere una combinazione dei modelii costruttore/prototipo.

Incapsulamento
var prop1 = "uno"; //privata
this.prop2= "due" //pubblica
var tc = new test();
var tp1 =tc.prop1; //undefined: perché prop1 è privata;
//senza l'utilizzo della parola chiave 'this', funzioni e variabili sono privati

Concettualmente si può dire che, è possibile definire e creare i propri oggetti.

Ci sono modi diversi per creare nuovi oggetti:

  • Definire e creare un singolo oggetto, utilizzando un oggetto letterale.
  • Definire e creare un singolo oggetto, con la parola chiave ‘new’.
  • Definire un oggetto costruttore e quindi creare oggetti del tipo del costruttore.
  • In ECMA5 * Il metodo Object.create() crea un nuovo oggetto con le specifiche dell’oggetto prototipo e le sue proprietà.
Restate sintonizzati per alcuni concetti avanzati di JavaScript
Object.create();
Crediti
Similari
Metodi magici e costanti predefinite in PHP
12% Php
PHP fornisce un insieme di costanti predefinite e metodi magici per i nostri programmi. A differenza delle normali costanti i quali si impostano con define(), il valore delle costanti predefinite o speciali dipendono da do…
Nuovi metodi in jQuery 1.6
9% JQuery
In questo articolo ci concentreremo sui nuovi metodi nella versione 1.6 della libreria jQuery JavaScript, così come i cambiamenti ai metodi già esistenti. Le informazioni fornite sono solo un riassunto veloce, raccomando u…
JavaScript Snippets
7% JScript
Vorrei postare un paio di frammenti di codice che ho in giro qui da un po’. Forse gli intenditori sbadiglieranno, ma ci sono un sacco di persone che sono alla ricerca di queste minuzie. Mi sbarazzo di questi appunti che ho…
JSONP, chiamate AJAX tra domini
6% Json
Sicuramente quanche volta vi è successo: si tenta di fare una richiesta AJAX in un dominio diverso da quello che si sta lavorando e restituisce un errore. In particolare, l’errore che dà Firefox è il seguente: Access to re…
Oggetti Letterali con jQuery
6% JQuery
Si tratta di una traduzione di un articolo molto interessante originariamente apparso nel numero di marzo 2009 su JSMag, che descrive i passi a seguire per creare un Oggetto Letterale. [expand expanded=”true” title=”Usando…