جسٹا سکریپٹ Object.defineProperty()
- ਪਿੱਛਲਾ ਪੰਨਾ defineProperties()
- ਅਗਲਾ ਪੰਨਾ entries()
- ਪਿੱਛੇ ਵਾਪਸ ਜਾਓ JavaScript ڈوائز مرجع
تعریف اور استعمال
Object.defineProperty()
مینوفرکشن، پروپریٹر کو اضافہ یا تبدیل کریں
Object.defineProperty()
مینوفرکشن، پروپریٹر کی متعدد اعداد شمار تبدیل کریں
Object.defineProperty()
مینوفرکشن، گیتھر اور سیٹر کا اضافہ کریں
متعلقہ مینوفرکشن:
Object.defineProperty()
پروپریٹرز کو اضافہ یا تبدیل کریں
Object.defineProperties()
کئی پروپریٹرز کو اضافہ یا تبدیل کریں
Object.getOwnPropertyNames()
مزید پروپریٹرز کا نام فراہم کرتی ہے۔
Object.getOwnPropertyDescriptor()
پروپریٹر کی وضاحت فراہم کرتی ہے۔
Object.getOwnPropertyDescriptors()
مزید پروپریٹرز کی وضاحت فراہم کرتی ہے۔
مثال
مثال 1
پروپریٹر کو اضافہ کریں:
// 创建一个对象 const person = { firstName: "Bill", lastName: "Gates", language: "EN" }; // ایک نئی پروپریٹر کا اضافہ کریں Object.defineProperty(person, "year", {value:"2008"});
مثال 2
پروپریٹر کو تبدیل کریں:
// 创建一个对象 const person = { firstName: "Bill", lastName: "Gates", language: "EN" }; // 修改一个属性 Object.defineProperty(person, "language", {value:"NO"});
مثال 3
// 创建一个对象 const person = { firstName: "Bill", lastName: "Gates", language: "NO" }; // 修改一个属性 Object.defineProperty(person, "language", { value: "EN" writable: true, enumerable: true, configurable: true }); // 枚举属性 let txt = ""; for (let x in person) { txt += person[x] + "<br>"; } // نمائش کی اپریٹر document.getElementById("demo").innerHTML = txt;
مثال 4
ایک مثال، جس میں پاسو میں language اپریٹر کو بچھایا گیا ہے، اس کا استعمال نہیں کیا جاسکتا:
// 创建一个对象 const person = { firstName: "Bill", lastName: "Gates", language: "NO" }; // 修改一个属性 Object.defineProperty(person, "language", { value: "EN" writable: true, enumerable: false, configurable: true }); // 枚举属性 let txt = ""; for (let x in person) { txt += person[x] + "<br>"; } document.getElementById("demo").innerHTML = txt;
مثال 5
اس مثال میں setter اور getter کا استعمال کیا گیا ہے تاکہ language کی خاصیت کی ترمیم کو بچایا جائے تاکہ وہ بچودار ہو جائے:
// 创建一个对象 const person = { firstName: "Bill", lastName: "Gates", language: "NO" }; // 修改一个属性 Object.defineProperty(person, "language", { get: function() { return language }, set: function(value) { language = value.toUpperCase() } }); // 修改 language person.language = "en"; // 显示 language document.getElementById("demo").innerHTML = person.language;
مثال 6
اس مثال میں getter کا استعمال کیا گیا ہے تاکہ firstName اور lastName کو جوڑا جائے:
// 创建一个对象 const person = { firstName: "Bill", lastName: "Gates" }; // 定义一个 Getter Object.defineProperty(person, "fullName", { get: function () { return this.firstName + " " + this.lastName; } });
مثال 7
JavaScript کا Getter و Setter بہت مناسبت کریگا کئی کاؤنٹر بنانے کیلئے:
// 定义 Setter 和 Getter Object.defineProperty(obj, "reset", { get: function () { this.counter = 0; } }); Object.defineProperty(obj, "increment", { get: function () { this.counter++; }}} }); Object.defineProperty(obj, "decrement", { get: function () { this.counter--; } }); Object.defineProperty(obj, "add", { set: function (value) { this.counter += value; } }); Object.defineProperty(obj, "subtract", { set: function (value) { this.counter -= value; } });
ਗਰੰਥਾ
Object.defineProperty(object, property, descriptor)
ਪੈਰਾਮੀਟਰ
ਪੈਰਾਮੀਟਰ | ਵਰਣਨ |
---|---|
object | ਲੋੜੀਂਦਾ ਹੈ। ਟੀਚਾ ਆਬਜੈਕਟ |
property | ਲੋੜੀਂਦਾ ਹੈ। ਪ੍ਰਾਪਰਟੀ ਨਾਮ। |
descriptor |
ਲੋੜੀਂਦਾ ਹੈ। ਜੋ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਜੋੜਨਾ ਜਾਂ ਸੰਸ਼ੋਧਿਤ ਕਰਨਾ ਹੈ ਤਾਂ ਪ੍ਰਾਪਰਟੀ ਵਰਣਨ:
|
ਵਾਪਸੀ ਮੁੱਲ
ਪ੍ਰਕਾਰ | ਵਰਣਨ |
---|---|
Object | ਸੰਸ਼ੋਧਿਤ ਆਬਜੈਕਟ |
ਬਰਾਉਜ਼ਰ ਸਮਰਥਨ
Object.defineProperty()
ਇਹ ECMAScript5 (ES5) ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹਨ。
2013 ਸਾਲ 7 ਮਹੀਨੇ ਤੋਂ, ਸਾਰੇ ਆਧੁਨਿਕ ਬਰਾਉਜ਼ਰਾਂ ਨੇ ਪੂਰੀ ਤਰ੍ਹਾਂ ES5 (JavaScript 2009) ਨੂੰ ਸਮਰਥਨ ਕੀਤਾ ਹੈ:
ਚਰਾਮਸ | ਐਂਜਲ | ਫਾਇਰਫਾਕਸ | ਸਫਾਰੀ | ਓਪੇਰਾ |
---|---|---|---|---|
ਚਰਾਮਸ 23 | IE/ਐਂਜਲ 11 | ਫਾਇਰਫਾਕਸ 21 | ਸਫਾਰੀ 6 | ਓਪੇਰਾ 15 |
2012 ਸਾਲ 9 ਮਹੀਨਾ | 2012 ਸਾਲ 9 ਮਹੀਨਾ | 2013 ਸਾਲ 4 ਮਹੀਨਾ | 2012 ਸਾਲ 7 ਮਹੀਨਾ | 2013 ਸਾਲ 7 ਮਹੀਨਾ |
- ਪਿੱਛਲਾ ਪੰਨਾ defineProperties()
- ਅਗਲਾ ਪੰਨਾ entries()
- ਪਿੱਛੇ ਵਾਪਸ ਜਾਓ JavaScript ڈوائز مرجع