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
Python per tutti
323% Python
Python para todos è un libro sulla programmazione in Python. Questo è un tutoriale su Python adatto a tutti i livelli e si può scaricare in pdf gratuitamente in spagnolo. Il tutoriale di Python…
Fondamentali di jQuery
261% JQuery
jQuery stà diventando rapidamente uno strumento che ogni sviluppatore web di interfacce dovrebbe conoscere. Lo scopo di questo libro è di fornire una panoramica della biblioteca, in modo che qu…
Nuovi metodi in jQuery 1.6
76% 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…
Modello di spazi dei nomi in JavaScript
68% JScript
In questo post, si discuteranno dei modelli intermedi, avanzati e gli approcci per il namespacing in JavaScript. Si comincia con l’ultimo come credo che molti dei lettori abbia qualche precedente esperienza in questo setto…
Metodi magici e costanti predefinite in PHP
46% 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…