JavaScript: mikä on objekti.luo ()?
objektin muut näppärät käyttötarkoitukset.create ()
objekti.create () voidaan hyödyntää joitakin JavaScriptin monia oikkuja. Ensinnäkin, se voi ottaa toisen argumentin objektina, jolla on ominaisuuksia, jotka haluat sisällyttää juuri palautettuun objektiin. Ei vain, että, mutta voit itse välittää kuin ensimmäinen argumentti, lähinnä sanomalla, että ei ole prototyyppiä palautetun objektin. Tämä voi tuntua suhteellisen hyödytön, ja on useimmat käyttötapaukset se luultavasti on, mutta entä jos haluat esine, joka ei ollut prototyyppi? Esimerkiksi, sanot tarvitsevasi staattisen objektin, jonka ominaisuuksia sinun tai kenenkään muunkaan ei pitäisi koskaan muuttaa? Object literals, luotu käyttäen perus {}, mukana liuta sisäänrakennettuja ominaisuuksia-mukaan lukien ne, jotka tekevät niistä konfiguroitavissa; kun taas objektit luotu objekti.create() will only have properties that you explicitly assign.
joten nyt, jos haluamme, voimme tehdä objektin, jolla ei ole yhteyttä objektiin.prototyyppi.
koska uudella kohteellamme ei kuitenkaan ole yhteyttä prototyyppiin, sillä ei ole myöskään lueteltavia, kirjoitettavia tai konfiguroitavia ominaisuuksia. Voimme lisätä esinettä niin paljon kuin haluamme, mutta emme voi muuttaa tai poistaa mitään.
useimmissa tapauksissa tätä ei haluaisi. Mutta on varmasti muutamia reunatapauksia, joissa staattinen, muuttumaton esine on juuri se, mitä tarvitset! Jos työskentelet tiimissä ja koodissasi on objekti, jonka ominaisuuksia ei missään nimessä tarvitse poistaa/muuttaa-objekti.create () voi olla juuri sitä, mitä etsit.
So Object.create () on erittäin hyödyllinen, kun se tulee klassinen perintö, mutta se antaa myös ohjelmoijalle täydellisen hallinnan objekti tehdään — joka voi olla melko mukavaa.