Razložite zapise JavaScript?

Razlozite Zapise Javascript



JavaScript prihaja z neprimitivnim podatkovnim tipom ' Objekt ”, ki je izpeljan s pomočjo primitivnih (vgrajenih) podatkovnih tipov. 'Objekt' deluje kot primerek za dostop do članov JavaScript. Uporablja se za priklic funkcije JavaScript za izvedbo specifične naloge, ki je primitivni tipi podatkov ne morejo. Vendar pa je ena pomanjkljivost te podatkovne vrste ta, da izvaja operacijo primerjave na podlagi svoje identitete, ne vsebine. Za rešitev te težave JavaScript ponuja nov podatkovni tip ' Zapisi ” saj striktno primerja na podlagi svoje vsebine, ne identitete.

Ta priročnik razlaga zapise JavaScript.







Kaj so 'zapisi'?

JavaScript' Zapisi ” je nov primitivni tip (nizi, številke, simboli), podoben vgrajenemu . Edina razlika je v tem, da so »zapisi« povsem nespremenljivi, tj. vrednosti njihovih ključev ni mogoče spremeniti, ko so inicializirani.



Sintaksa



Sintaksa ' Zapis « je enak »Objectu«, vendar zahteva » # (hash)« pred zavitimi oklepaji, ki ga označujejo kot »Zapis«:





const recoredName = #{
/*
ključ: vrednost
/*
}


Uporabimo zgoraj navedeno sintakso za ustvarjanje novega zapisa.

Kako ustvariti zapise?

Če želite ustvariti zapis, določite simbol »#(hash)« na začetku zavitih oklepajev, kot je prikazano v spodnjem bloku kode:



const oseba = #{
fname: 'Ali' ,
ime: 'Usman' ,
starost: enaindvajset ,
}
console.log ( person.fname )
console.log ( person.lname )
console.log ( oseba.starost )


V zgornjem kodnem bloku:

    • ' oseba « se nanaša na nov »zapis«, ki ima naslednje ključe »fname«, »lname« in »age«.
    • Nato je ' konzola. log() ” prikaže ključne vrednosti »osebe« eno za drugo.

Opomba: Uporabnik lahko določi tudi vsebino »Zapisi« v eni vrstici, kot je ta:

const oseba = #{fname: 'Ali', lname: 'Usman', starost: 21}


Izhod


Vidimo lahko, da izhod prikazuje vse ključne vrednosti ustvarjene »osebe« zapisa.

Omejitev zapisov

»Zapis« ne sprejme »matrike« in »predmeta« kot svoj ključ. Če jih uporabnik posreduje v zapis, potem prevajalnik ustvari ' TypeError ”. Naslednji blok kode to praktično prikazuje:

const nov zapis = #{
prihod: [ 'HTML' , 'CSS' , 'JavaScript' ]
}
console.log ( oseba.arr )


V zgornjih vrsticah kode:

    • ' nov zapis ” inicializira matriko z imenom “arr” kot svoj ključ.
    • Nato je ' konzola. log() « prikaže vrednost ključa »arr«, določeno v »newRecord«.

Izhod


Konzola prikaže »TypeError(passing un-expected type)«, ker »Records« ne sprejme matrike kot ključa.

Razumevanje zapisov JavaScript z uporabo primerov

Ta razdelek zajema uporabo 'zapisov' v praksi s pomočjo danih primerov.

Začnimo s prvim primerom.

Primer 1: Zapisi so globoko nespremenljivi

JavaScript' Zapisi ” so globoko nespremenljivi primitivni tipi. »Globoko nespremenljivo« pomeni, da vseh ključnih vrednosti zapisa ni mogoče spremeniti ali spremeniti na nobeni ravni, ko so že nastavljene. »Primitivni« tipi označujejo vse osnovne podatkovne tipe JavaScript, kot so niz, število, nič, nedefinirano in mnogi drugi.

Naslednji blok kode praktično prikazuje navedeni koncept:

const myRecord = #{
ime: 'Ali' ,
starost: enaindvajset ,
}
myRecord.name= 'Haroon'


V zgornjem kodnem bloku je » myRecord 'ključ' ime ” se vrednost po inicializaciji spremeni.

Izhod


Opazimo lahko, da prevajalnik prikaže »TypeError« ob spreminjanju vrednosti ključa »newRecord«.

Primer 2: Zapisi so primerjalni

Glavna prednost »zapisov« je, da se primerjajo na podlagi njihovih vrednosti, ne glede na identiteto. Medtem ko se »predmeti« primerjajo glede na svojo identiteto, ne glede na vrednosti. Če sta dve vrednosti zapisov enaki, potem prevajalnik pridobi true.

Oglejmo si to praktično s pomočjo danih vrstic kode:

const myRecord = #{
ime: 'Ali' ,
starost: enaindvajset ,
}
console.log ( moj zapis === #{
ime: 'Ali' ,
starost: enaindvajset ,
} ) ;


Tukaj zgornji delček kode ustvari dva zapisa, ki se primerjata s pomočjo ' stroga enakost (===)«.

Izhod


Izhod vrne ' prav ” Logična vrednost, ki pomeni, da so določeni operatorji, tj. »Zapisi«, enaki.

Primer 3: Pretvori zapis v predmet

'Zapise' JavaScript je mogoče pretvoriti tudi v podatkovni tip 'Object' s pomočjo konstruktorja 'Object'. Tukaj je njegova praktična izvedba:

pustiti moj zapis = #{ Ena: 1, Dva: 2 }
console.log ( Objekt ( myRecord ) )
console.log ( typeof myRecord )


V zgornjih vrsticah kode:

    • Prvi ' lconsole.and() ' uporablja konstruktor 'Object' za pretvorbo ' myRecord « v »predmet.
    • Druga metoda »console.log()« uporablja » tip ” s ključno besedo za preverjanje vrste »myRecord«.

Izhod


Izhod prikazuje pretvorjen »newRecord« kot » Objekt ”, ki potrjuje, da je bil “newRecord” uspešno pretvorjen v “objekt”.

Primer 4: Pretvori predmet v zapis

Uporabnik lahko tudi pretvori »Object« v »Record« za namene primerjave s pomočjo » zapis () ” metoda. Naredimo to praktično:

pustiti mojObj = { ena: 1 , dva: 2 }
pustiti myRecord = Zapis ( mojObj )
console.log ( myRecord )


Zdaj zgornji delček kode uporablja » zapis () ” za pretvorbo danega objekta “myObj” v “myRecord”.

Izhod


Izhod uspešno prikaže pretvorjeni objekt »myObj« v vsebino »myRecord«.

Primer 5: Ustvarite nove zapise iz obstoječih zapisov

Kot je razloženo v prvem primeru, so »zapisi« nespremenljivi, tj. njihovih ključnih vrednosti ni mogoče spreminjati. Vendar pa lahko uporabnik ustvari nov »Zapis« iz obstoječega »Zapisa« poleg dodajanja nekaterih drugih vrednosti.

Sledite podanemu delčku kode, da ustvarite nov zapis iz obstoječega:

pustiti stari zapis = #{A: 1, B: 2};
pustiti nov zapis = #{ ...myRecord, C: 3, D:4}
console.log ( nov zapis )


V zgornji kodi JavaScript:

    • ' oldRecord ” se nanaša na obstoječi zapis, ki ima dve ključni vrednosti.
    • Naprej ' nov zapis « ustreza novemu zapisu, ki je ustvarjen s pomočjo obstoječega »oldRecord« in tudi z dodajanjem novih določenih ključnih vrednosti.
    • Nazadnje, ' konzola. log() « prikaže na novo ustvarjen zapis z imenom »newRecord«.

Izhod


Izhod prikaže vse ključne vrednosti novo ustvarjenega zapisa.

Primer 6: Dostop do zapisov z uporabo metode “Object.keys()”.

Uporabnik lahko uporablja vgrajen JavaScript “ ključi() ' metoda ' Objekt ” za dostop do ključev zapisa. V tem scenariju se uporablja za dostop do tipk »myRecord«:

pustiti moj zapis = #{A: 1, B: 2};
pustiti recordKeys = Object.keys ( myRecord ) ;
console.log ( recordKeys )


Zgornji delček kode uporablja » Object.keys() ” za dostop do vseh ključev v “myRecord”.

Izhod


Izhod prikazuje vse ključe »myRecord« v formatu polja in tudi z njihovimi indeksi v formatu para ključ-vrednost.

Zaključek

JavaScript' Zapisi ” sta podatkovni tip napredne ravni, ki je globoko nespremenljiv. Deluje podobno kot »Object«, vendar je glavna razlika ta, da je njegovo vrednost mogoče spremeniti ali posodobiti, ko je nastavljena. Zahteva simbol »#(hash)« pred zavitimi oklepaji za deklaracijo, sicer deluje kot objekt. Ta priročnik je na kratko razložil vrsto podatkov JavaScript Records.