JavaScript Object.defineProperty () -metoden legger til eller endrer eksisterende eiendom på et objekt og returnerer objektet.
Syntaksen til defineProperty()metoden er:
 Object.defineProperty(obj, prop, descriptor)
Den defineProperty()metoden, å være en statisk metode, kalles med Objectnavn klassen.
defineProperty () Parametere
Den defineProperty()metoden tar i:
- obj - Objektet som egenskapen skal defineres på.
 - prop - Navnet på eller 
Symboleiendommen som skal defineres eller endres. - deskriptor - Beskrivelsen for eiendommen som defineres eller endres.
 
Eiendomsbeskrivelser som er tilstede i objekter er av to typer: datadeskrivere og tilgangsbeskrivere. De kan ha følgende valgfrie egenskaper.
configurableenumerable
En datadeskrivere kan også ha:
valuewritable
En tilgangsbeskrivelse kan også ha:
getset
Returverdi fra defineProperty ()
- Returnerer objektet som ble sendt til funksjonen.
 
Merk:
- Verdier som legges til ved bruk 
Object.defineProperty()er som standard uforanderlige og kan ikke telles. - Hvis en descriptor har ingen av 
value,writable,getogsetnøkler, blir den behandlet som en databeskrivelse. Hvis en deskriptor har beggevalueellerwritableoggetellersetnøkler, kastes et unntak. 
Eksempel: Legge til en dataegenskap til objektet
 let obj = (); // with a data property descriptor Object.defineProperty(obj, "property1", ( value: 788, writable: true, enumerable: true, configurable: true, )); console.log(obj.property1); // 788 // with an accessor property descriptor Object.defineProperty(obj, "property2", ( get() ( console.log("Getting Value… "); return val; ), set(newVal) ( console.log("Setting Value… "); val = newVal; ), enumerable: true, configurable: true, )); obj.property2 = 6969; // Setting Value… console.log(obj.property2); // 6969
Produksjon
788 Angi verdi … Få verdi … 6969
Vi kan ikke blande både data- og tilgangsbeskrivelser, da det ville forårsake en feil.
For å endre en eiendom må objektets writableeiendom være true, ellers vil den ikke endre og kaste feil i streng modus.
Den enumerableegenskap attributten angir om egenskapen blir plukket for Object.assign()eller spres operatør.
De configurableattributt kontroller på samme tid hvorvidt den egenskapen kan slettes fra objektet, og om dens attributter (andre enn valueog writable) kan endres.
Anbefalt lesing: Javascript Object defineProperties ()








