Johdatus rakentajaan JavaScriptissä

JavaScript-rakentajamenetelmä on erityinen menetelmä, jota käytetään objektien luomiseen ja alustamiseen luokassa. Tätä tekee jokaisen ohjelmointikielen rakentaja. Mikä tekee JavaScript-konstruktorista erilaisen kuin muut, on syntaksin mukainen vapaus. Ymmärtääksesi sitä paremmin avaamalla yksinkertaisesti selaimen kehittäjän työkalut (Ctrl / Cmd + Shift + C) ja siirtymällä konsoli-välilehteen kehittäjätyökalujen ikkunassa.

Se näyttää tältä Chromessa

Tämä on leikkipaikka useimmille JavaScriptiin liittyville käsitteille. Käytämme tätä leikkipaikkaa koko tämän artikkelin ajan.

Tyypit rakentajia JavaScript

JavaScriptissä on kahta tyyppiä rakentajia

1. Sisäänrakennetut rakentajat

Nämä ovat helposti saatavissa olevia rakentajia, jotka toimitetaan paketissa suoritusympäristön kanssa. Käyttäjän tarvitsee vain kutsua heitä ja alttoviulu, työ on tehty. Esimerkkejä sisäänrakennetuista rakentajista ovat taulukko, päivämäärä ja objekti.

2. Käyttäjän määrittämät rakentajat

Nämä ovat ohjelmoijan ilmoittamia ja määrittelemiä rakentajia käytettäviksi koko sovelluksen ajan. Ohjelmoija voi myös määritellä omien mukautettujen tyyppien ominaisuudet ja menetelmät. Niitä kutsutaan myös mittatilaustyöntekijöiksi. Sopimuksen mukaan kaikki JavaScriptin rakentajat ovat lausekoteloituja. Tämä on kertoa käyttäjille, että tämä toiminto on käynnistettävä uudella avainsanalla.

Kuinka rakentajat toimivat JavaScript-ohjelmassa?

Ennen kuin tarkastelemme JavaScript-rakentajien syntaksia, meidän on ymmärrettävä hyvin perusajatus JavaScript-käsitteestä -

  • Objektiluokka tekee yhteenvedon tämän artikkelin yhteydessä, jokaisen JavaScript-objektin on luonut Object-rakentaja. Jos objektin luomisen aikana annettu arvo on nolla tai määrittelemätön, objektirakentaja luo tyhjän objektin. Muutoin se luo määritetyn tyyppisen objektin luotaessa objektia.
  • Aina kun luokkatyyppinen uusi objekti julistetaan, uusi avainsana palauttaa viittauksen hiljattain luotuun objektiin. Kohteeseen päästään käyttämällä tätä avainsanaa rakentajan sisällä objektin ominaisuuksien alustamiseksi.
  • Vaikka teknisesti JavaScriptillä ei ole luokkia, mutta siinä on rakentajia ja prototyyppejä, jotka tuovat samanlaisia ​​toimintoja. ECMAScript 2015 -sarjassa luokkien käsite otettiin käyttöön JavaScriptillä. Tämä oli yksinkertaisesti syntaattinen lisä nykyiseen prototyyppipohjaiseen perintöön eikä lisännyt kielelle mitään uusia toimintoja.

Syntaksi ja esimerkkejä konstruktorista Javascriptissa

1) Rakentajamenetelmä

Alla on rakennusmenetelmä. Tätä menetelmää käytetään luokan prototyypin sisällä.

Syntaksi

constructor((arguments))( … )

Koodi

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

lähtö:

2) esinerakentaja (sisäänrakennetut rakentajat)

Objektikonstruktoria kutsutaan suoraan, kun Object-luokan objekti luodaan. Tämä luo Object-luokan objektin, jos argumentteina välitetään tyhjät tai määrittelemättömät parametrit. Muutoin luodaan tietyn parametrin tyyppinen objekti.

Syntaksi

new Object(( value ))

Tai

new Array(( value ))

Tai

new Date(( value ))

Tai

new String(( value ))

Tai

new Number(( value ))

Tai

new Boolean(( value ))

Tai

new Function(( value ))

Tai

new Error(( value ))

Tai

new RegExp(( value ))

ja niin edelleen…

Koodi:

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

lähtö:

3) Matriisin ja päivämäärän rakentajat

Samalla tavalla taulukon ja päivämäärän rakentajia voidaan käyttää myös vastaavien tyyppisten objektien luomiseen.

Koodi:

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

lähtö:

Koodi:

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

lähtö:

Koodi:

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

lähtö:

4) Mukautetut rakentajat

Voimme myös ilmoittaa ja määritellä omat rakentajamme käytettäväksi koko sovelluksessamme. Katsotaanpa, miten tämä voidaan saavuttaa.

Syntaksi

function FunctionName((arguments))( … )

Koodi

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);

lähtö:

Uuden avainsanan merkitys

Nyt saatat miettiä mitä, jos en käytä uutta avainsanaa? Voinko jättää uuden avainsanan pois? No, ystäväni, ei. Uuden avainsanan käyttö on erittäin tärkeää.

  • JavaScript-rakentajat ovat säännöllisiä toimintoja. Niiden mukana on uusi avainsana, joka kertoo JavaScript-moottorille, että uusi esine on rakennettava annetulla ominaisuudella. Ilman uutta avainsanaa luodaan vain enemmän ja enemmän globaaleja kohteita.
  • Uusi avainsana palauttaa viittauksen hiljattain luotuun objektiin. Tallennamme tämän viitteen muuttujaan. Ilman uutta avainsanaa objekti luodaan, mutta viitettä objektiin ei palauteta. Kohteella on globaali laajuus. Ainoa viittaus tähän kohteeseen on ikkunaobjektin kautta.
  • Hämmentynyt? Ymmärtäkäämme esimerkkejä paremmin. Mieti uutta esimerkkiä. Poistimme uuden avainsanan esineilmoituksista. Tulos oli poikkeus määrittelemättömiin muuttujiin. Tämä johtuu siitä, että ilman uutta avainsanaa vastikään luotujen objektien viitettä ei palautettu, eikä sitä siis tallennettu muuttujiimme book1, book2 ja book3. Kun yritimme käyttää näitä muuttujia näyttökirjamenetelmässä, poikkeus heitetään.

Koodi:

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);

lähtö:

Samassa esimerkissä, jos muokkaamme näyttökirjamenetelmää päästäksesi kohteisiin ikkunan laajuuden kautta, saamme odottamattoman tuotoksen.

Koodi:

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);

lähtö:

Nyt harjoitteena tee pieni aivoriihi selvittääksesi miksi saamme tämän tuloksen!

Soveltamisalaan turvalliset rakentajat

JavaScriptin sisäänrakennetut rakentajat ovat suojattuja rakenteita. Ne eivät luo globaalisti laajuisia muuttujia, kun niitä kutsutaan ilman uutta avainsanaa. Siksi nämä objektit voidaan turvallisesti luoda uudella avainsanalla tai ilman.

Koodi

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
)

Kyllä, sinäkin voit luoda käyttäjän määrittelemiä laajuussuojattuja rakentajia. Jatka, luo laaja-alainen turvallinen rakentaja kirjoillemme yllä olevassa esimerkissä.

johtopäätös

Tämä artikkeli esitteli perusteellisesti JavaScript-rakentajia. Tämä auttaa ymmärtämään myös JavaScriptin toimintaa. Tärkeintä on muistaa tässä, että vaikka JavaScriptillä ei teknisesti ole luokkia, menetelmät ja prototyypit tarjoavat samanlaisen toiminnallisuuden kehittäjän käytettävissä. Ja kyllä, uusi avainsana on tärkeä.

Suositellut artikkelit

Tämä on opas rakentajalle JavaScriptiä. Täällä keskustellaan sen tyypeistä ja tärkeistä menetelmistä laaja-alaisen turvallisen rakentajan luomisen kanssa. Voit myös käydä annettujen artikkeleidemme läpi oppiaksesi lisää-

  1. Mitä Javascript voi tehdä?
  2. Mikä on JavaScript?
  3. Kuinka asentaa JavaScript
  4. Tuhoaja Java
  5. Regex-toiminnot Pythonissa (esimerkki)
  6. Esimerkkejä avainsanasta
  7. Työskentely ja Java-esimerkkisääntöjen esimerkit