defineProperty()
Reflect.defineProperty() xususiyatni aniqlaydi yoki o‘zgartiradi.
U Object.defineProperty() ga o‘xshaydi
Misol
// Create an Object
const user = {};
// Add a Property
Reflect.defineProperty(user, "id", {
value: 123,
writable: false
});
O‘zingiz sinab ko‘ring »
Object.defineProperty() dan foydalanish bilan bir xil:
// Add a Property
Object.defineProperty(user, "id", {
value: 123,
writable: false
});
O‘zingiz sinab ko‘ring »
Proxy’da Reflect.defineProperty()
Proxy’da Reflect.defineProperty() ishlatilishi shart
Proxy’da ishlatilganda defineProperty trap’i true yoki false qaytarishi shart.
Object.defineProperty()maqsad obyektni qaytaradiReflect.defineProperty()trueyokifalseqaytaradi
Sintaksis
Reflect.defineProperty(obj, prop, attributes)
Parametrlar
| Parametr | Tavsif |
|---|---|
| obj | Majburiy. Maqsad obyekt. |
| prop | Majburiy. Aniqlanadigan xususiyat. |
| attributes | Ixtiyoriy. Xususiyat atributlaridan iborat massivsimon obyekt. |
Qaytariladigan qiymat
| Tip | Tavsif |
|---|---|
| Boolean | Muvaffaqiyatli bo‘lsa, true. Aks holda false. |
Xatolar
| Tip | Tavsif |
|---|---|
| TypeError | Agar obj obyekt bo‘lmasa yoki attributes obyekt bo‘lmasa, xato chiqariladi. |
Reflect metodlari:
Reflect.apply()
Reflect.construct()
Reflect.defineProperty()
Reflect.deleteProperty()
Reflect.get()
Reflect.getOwnPropertyDescriptor()
Reflect.getPrototypeOf()
Reflect.has()
Reflect.isExtensible()
Reflect.ownKeys()
Reflect.preventExtensions()
Reflect.set()
Reflect.setPrototypeOf()
Brauzerlarda qo‘llab-quvvatlash
Reflect.defineProperty() — ECMAScript6 (ES6 2015) imkoniyati.
JavaScript 2015 2017-yil iyunidan beri barcha brauzerlarda qo‘llab-quvvatlanadi:
| Chrome 51 |
Edge 15 |
Firefox 54 |
Safari 10 |
Opera 38 |
| 2016-yil may | 2017-yil aprel | 2017-yil iyun | 2016-yil sentabr | 2016-yil iyun |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
