Constructor în JavaScript - metodele sale de tipuri și importanți

Cuprins:

Anonim

Introducere în constructor în JavaScript

Metoda constructorului în JavaScript este o metodă specială folosită pentru crearea și inițializarea obiectelor dintr-o clasă. Acest lucru face un constructor în fiecare limbaj de programare. Ceea ce face ca constructorul JavaScript să fie diferit de alții este libertatea din punct de vedere al sintaxei. Pentru a-l înțelege mai bine, pur și simplu deschideți instrumentele de dezvoltare a browserului (Ctrl / Cmd + Shift + C) și accesați fila Console din fereastra instrumentelor pentru dezvoltatori.

Arată așa în Chrome

Acesta este locul de joacă pentru majoritatea conceptelor legate de JavaScript. Am folosi acest loc de joacă în tot acest articol.

Tipuri de constructori în JavaScript

Există două tipuri de constructori în JavaScript

1. Constructori încorporati

Aceștia sunt constructorii ușor disponibili care vin la pachet cu mediul de execuție. Utilizatorul trebuie pur și simplu să-i invoce și să fie viola, munca depusă. Exemple de constructori încorporați sunt Array, Data și Object.

2. Constructori definiți de utilizator

Aceștia sunt constructorii declarați și definiți de programator pentru a fi folosiți în întreaga aplicație. Un programator poate defini, de asemenea, proprietățile și metodele propriilor tipuri personalizate. De asemenea, sunt cunoscuți ca constructori personalizați. Prin convenție, toți constructorii JavaScript sunt înscriși cu propoziție. Acest lucru înseamnă pentru a spune persoanei care le folosește că această funcție trebuie invocată folosind noul cuvânt cheie.

Cum funcționează Constructorii în JavaScript?

Înainte de a privi sintaxa constructorilor JavaScript, trebuie să înțelegem un concept de bază al JavaScript -

  • Clasa Object rezumă în contextul acestui articol, fiecare obiect JavaScript este creat de constructorul Object. Dacă valoarea furnizată în timpul creării obiectului este nulă sau nedefinită, constructorul Obiect va crea un obiect gol. În caz contrar, va crea un obiect de tipul definit în timp ce creează obiectul.
  • Ori de câte ori este declarat un nou obiect de tipul clasei, noul cuvânt cheie returnează o referire la obiectul nou creat. Acest obiect este accesat folosind acest cuvânt cheie în interiorul constructorului pentru a inițializa proprietățile obiectului.
  • Deși, din punct de vedere tehnic JavaScript nu are clase, ci are constructori și prototipuri pentru a aduce funcționalități similare. În ECMAScript 2015, conceptul de clase a fost introdus în JavaScript. Aceasta a fost pur și simplu o adăugare sintactică a moștenirii bazate pe prototipuri existente și nu a adăugat nicio funcționalitate nouă limbajului.

Sintaxa și exemple de constructor în Javascript

1) Metoda constructorului

Mai jos este metoda constructorului. Această metodă este folosită în prototipul clasei.

Sintaxă

constructor((arguments))( … )

Cod

class Employee(
constructor(id, name)(
this.id = id;
this.name = name;
))
var emp1 = new Employee(123, "John");
console.log(emp1.name);

ieşire:

2) Constructor obiect (Constructor încorporat)

Constructorul Obiect este numit direct atunci când este creat un obiect al clasei Obiect. Aceasta creează un obiect din clasa Obiect dacă parametrii nuli sau nedefiniți sunt trecuți ca argumente. În caz contrar, este creat un obiect de tipul parametrilor dați.

Sintaxă

new Object(( value ))

Sau

new Array(( value ))

Sau

new Date(( value ))

Sau

new String(( value ))

Sau

new Number(( value ))

Sau

new Boolean(( value ))

Sau

new Function(( value ))

Sau

new Error(( value ))

Sau

new RegExp(( value ))

si asa mai departe…

Cod:

var name = new Object("John");
var age = new Object(28);
console.log("Name : "+name+" & Age : "+age);

ieşire:

3) Constructori Array și Date

Într-o manieră similară, constructorii Array și Date pot fi de asemenea folosiți pentru a crea obiecte de tipuri respective.

Cod:

var alphabets = new Array('Apple', 'Ball', 'Cat');
console.log(alphabets);

ieşire:

Cod:

var now = new Date();
console.log(now);

ieşire:

Cod:

var err = new Error("A user-defined error has occurred.");
console.log(err);

ieşire:

4) Constructori personalizați

De asemenea, putem declara și defini propriii constructori pentru a fi folosiți în întreaga aplicație. Să ne uităm la cum se poate realiza acest lucru.

Sintaxă

function FunctionName((arguments))( … )

Cod

function Book(name, author, year) (
this.name = name;
this.author = author;
this.year = year;
)
function displayBook(book)(
console.log('\'' + book.name + '\' authored by ' + book.author + ' in the year ' + book.year + '.');
)
var book1 = new Book('Java - The Complete Reference', 'Herbert Schildt', 2006);
var book2 = new Book('Let Us C', 'Yashavant Kanetkar', 2002);
var book3 = new Book('Data Structures', 'Seymour Lipschutz', 2005);
displayBook(book1);
displayBook(book2);
displayBook(book3);

ieşire:

Importanța noului cuvânt cheie

Acum s-ar putea să vă întrebați ce dacă nu folosesc noul cuvânt cheie? Pot omite noul cuvânt cheie? Ei bine, prietenul meu, nu. Utilizarea noului cuvânt cheie este esențială.

  • Constructorii JavaScript sunt funcții obișnuite. Acestea sunt însoțite de un nou cuvânt cheie pentru a spune motorului JavaScript că un obiect nou trebuie construit cu proprietățile date. Fără noul cuvânt cheie, veți crea pur și simplu mai multe obiecte globale.
  • Noul cuvânt cheie returnează o referință la obiectul nou creat. Apoi stocăm această referință într-o variabilă. Fără noul cuvânt cheie, obiectul este creat, dar nu se returnează nicio referire la obiect. Obiectul presupune un domeniu global. Singura referință la acest obiect este prin obiectul fereastră.
  • Confuz? Să ne înțelegem mai bine cu exemple. Luați în considerare din nou exemplul de mai sus. Am eliminat noul cuvânt cheie din declarațiile obiectului. Rezultatul a fost o excepție de la variabilele nedefinite. Acest lucru se datorează faptului că, fără noul cuvânt cheie, referința obiectelor nou create nu a fost returnată și astfel nu a fost stocată în variabilele noastre book1, book2 și book3. Când am încercat să accesăm aceste variabile în metoda cărții de afișare, excepția este aruncată.

Cod:

function Book(name, author, year) (
this.name = name;
this.author = author;
this.year = year;
)
function displayBook(book)(
console.log('\'' + book.name + '\' authored by ' + book.author + ' in the year ' + book.year + '.');
)
var book1 = Book('Java - The Complete Reference', 'Herbert Schildt', 2006);
var book2 = Book('Let Us C', 'Yashavant Kanetkar', 2002);
var book3 = Book('Data Structures', 'Seymour Lipschutz', 2005);
displayBook(book1);
displayBook(book2);
displayBook(book3);

ieşire:

În același exemplu, dacă modificăm metoda cărții de afișare pentru a accesa obiectele prin sfera ferestrei, obținem o ieșire neașteptată.

Cod:

function Book(name, author, year) (
this.name = name;
this.author = author;
this.year = year;
)
function displayBook(book)(
console.log('\'' + window.name + '\' authored by ' + window.author +' in the year ' + window.year + '.');
)
var book1 = Book('Java - The Complete Reference', 'Herbert Schildt', 2006);
var book2 = Book('Let Us C', 'Yashavant Kanetkar', 2002);
var book3 = Book('Data Structures', 'Seymour Lipschutz', 2005);
displayBook(book1);
displayBook(book2);
displayBook(book3);

ieşire:

Acum, ca exercițiu, fă ​​un pic de brainstorming pentru a afla de ce obținem această ieșire!

Constructori siguri de aplicare

Constructorii încorporați în JavaScript sunt constructori care nu sunt de siguranță. Ele nu creează variabile cu scop global atunci când sunt apelate fără un cuvânt cheie nou. Astfel, aceste obiecte pot fi create în siguranță cu sau fără un cuvânt cheie nou.

Cod

function SampleFn(argument) (
// if "this" is not an instance of the constructor
// it means it was called without new
if (!(this instanceof SampleFn)) (
// call the constructor again with new
return new SampleFn(argument);
)
// The code to construct properties and methods
)

Da, de asemenea, puteți crea constructori siguri de aplicare definiți de utilizator. Continuați, creați un constructor sigur pentru domenii pentru cărțile noastre din exemplul de mai sus.

Concluzie

Acest articol a oferit o demonstrație aprofundată a constructorilor JavaScript. Acest lucru ajută, de asemenea, la înțelegerea funcționării JavaScript. Lucrul cheie de reținut este faptul că, deși tehnic nu există clase în JavaScript, metodele și prototipurile oferă funcționalități similare la dispoziția dezvoltatorului. Și da, noul cuvânt cheie este important.

Articole recomandate

Acesta a fost un ghid pentru Constructor în JavaScript. Aici discutăm tipurile și metodele sale importante cu Cum să creezi un constructor sigur în domeniu Puteți parcurge, de asemenea, articolele date pentru a afla mai multe-

  1. Ce Javascript poate face?
  2. Ce este JavaScript?
  3. Cum se instalează JavaScript
  4. Distrugător în Java
  5. Funcții Regex în Python (Exemplu)
  6. Exemple de acest cuvânt cheie
  7. Funcționare și reguli de instanțăOf în Java cu Exemplu