Kaasaegne JavaScript alates ES6 kuni ES13 (JS-i õpetus)

Objekte ilma klassideta JavaScriptis loomiseks võite kasutada objekti literalsüntaksit. Näiteks: ```javascript let auto = { mark: "Toyota", mudel: "Corolla", aastakäik: 2020, värv: "sinine" }; ``` Sellisel viisil saate lihtsalt luua objekti koos soovitud omadustega ilma klassi määratlemiseta. Samuti saate objekti luua, kasutades `Object` konstruktorit: ```javascript let auto = new Object(); auto.mark = "Toyota"; auto.mudel = "Corolla"; auto.aastakäik = 2020; auto.värv = "sinine"; ``` Mõlemad meetodid on kehtivad ja sõltuvad teie eelistustest ning kontekstidest, kus objekti kasutatakse

Kõik õpetuse videod Kaasaegne JavaScript alates ES6 kuni ES13 (JS õpetus)

JavaScript pakub palju võimalusi objektide loomiseks ja muutmiseks. Traditsiooniline klasside ja prototüüpide kasutamine on laialdaselt levinud, kuid on ka alternatiivseid lähenemisviise, mis on sageli paindlikumad ja lihtsamad. See juhend näitab, kuidas luua efektiivseid objekte JavaScriptis ilma klasside kasutamiseta. Kasutame Douglas Crockfordi lähenemist, mis põhineb funktsioonidel ja pakub huvitavat perspektiivi Es6 ja järgnevatel versioonidel.

Olulisemad järeldused

  • Objekte saab luua ilma klasside ja this kasutamiseta
  • Funktsioonipõhine objektide loomine võimaldab paindlikumaid ja loetavamaid koodistruktuure
  • Objektide destructuring muudab nende käsitlemise efektiivsemaks ja lihtsamaks

samme objektide loomiseks ilma klassideta

Alusta funktsiooni loomisega, mis tagastab objekti. Seda saad teha, kasutades põhilist funktsiooni süntaksit.

Objekte ohne Klassen in JavaScript erstellen

Antud näites defineerime funktsiooni createShape. Selles funktsioonis loome uue objekti, millel on erinevad omadused, nagu id, x ja y. Samuti saad lisada täiendavaid meetodeid, et laiendada objekti funktsionaalsust.

Veendu, et edastad funktsioonile parameetrid, mis objekti defineerivad. Nii saad luua objekti instantsi konkreetsete atribuutidega.

Objekti kasulikuks muutmiseks võid defineerida ka meetodeid, mis on objekti sisse ehitatud. Näiteks võid lisada print meetodi, mis väljendab objekti omadusi.

Objekte ilma klassideta JavaScriptis loomine

Siin laiendad createShape funktsiooni print meetodiga. Veendu, et meetod on õigesti implementeeritud, et tagada, et see suudab objekti omadusi viidata.

Teine element on move meetodi rakendamine. Seda meetodit saab kasutada objekti x ja y koordinaatide muutmiseks. Ära unusta, et parameetreid unikaalselt nimetada, et vältida arusaamatusi.

Sa saad kasutada funktsioone objektide destructuring'u jaoks. Selle asemel, et edastada parameetreid eraldi, edasta lihtsalt objekt ja kasuta destructuring'ut, et omadusi ekstrakteerida.

See tehnika muudab sinu koodi mitte ainult loetavamaks, vaid ka paindlikumaks. Sa saad hõlpsasti lisada uusi parameetreid ja osaliselt eemaldada olemasolevaid parameetreid, ilma et peaksid kogu funktsionaalsust ümber kirjutama.

Kui kaalud ka teiste funktsioonide integreerimist, võiksid defineerida teise funktsiooni createBaseShape, mis rakendab mõningaid põhifunktsioone ja mida kutsutakse esimesest objektist.

Ekraanipilt_目330

Edasiarendatud lähenemisega saad kas pääseda printBase või muudele funktsioonidele, ja neid kasutada, ilma et peaksid kasutama this või midagi sarnast.

Viimase täiustamisena saad objekti külmutada, et tagada, et selle omadusi ei saaks pärast loomist muuta. Seda tehakse Object.freeze() meetodi abil.

Need tehnikad näitavad, et on palju võimalusi, kuidas luua ja hallata objekte JavaScriptis, ilma et peaks tuginema klasside mudelile.

Kokkuvõte – objektid ilma klassideta JavaScriptis

Selles juhendis õppisid, kuidas luua objekti JavaScriptis tõhusalt ilma klassideta. Funktsioonipõhine objektide loomine pakub palju paindlikkust ja kontrolli. Erinevate meetodite nagu destructuring ja Object.freeze abil on sul võimalus arendada robustseid ja hooldatavaid struktuure, mis toovad kasu sinu koodile.

Küsimused ja vastused

Kuidas luua objekti JavaScriptis ilma klassideta?Sa saad määratleda funktsiooni, mis loob ja tagastab uue objekti.

Millised on funktsioonipõhise objekti loomise eelised?See võimaldab paindlikumat objektide käsitlemist, lihtsaid laiendusi destructuring'u kaudu ja takistab soovimatuid muudatusi Object.freeze abil.

Kas ma saan meetodeid objekti loomise funktsioonides määratleda?Jah, sa saad luua meetodeid otse objekti tagastavates funktsioonides.

Kas see lähenemine asendab traditsioonilise klassimudeli täielikult?See on alternatiivne meetod, mis võib olla paljudes spetsiifilistes juhtudes kasulik, kuid ei pretendeeri klasside täielikule asendamisele.