जावास्क्रिप्ट वस्तु गुण
गुण किसी भी JavaScript ऑब्जेक्ट का सबसे महत्वपूर्ण हिस्सा होते हैं।
जावास्क्रिप्ट गुण
गुण जावास्क्रिप्ट ऑब्जेक्ट से जुड़े मान हैं।
एक जावास्क्रिप्ट ऑब्जेक्ट अनियंत्रित गुणों का संग्रह है।
गुण आमतौर पर बदले, जोड़े और हटाए जा सकते हैं, लेकिन कुछ केवल पढ़े जाते हैं।
जावास्क्रिप्ट गुणों तक पहुंचना
किसी वस्तु की संपत्ति तक पहुँचने के लिए वाक्य रचना है:
objectName.property // person.age
या
objectName["property"] // person["age"]
या
objectName[expression] // x = "age"; person[x]
एक्सप्रेशन को किसी प्रॉपर्टी के नाम का मूल्यांकन करना चाहिए।
उदाहरण 1
person.firstname + " is " + person.age + " years old.";
उदाहरण 2
person["firstname"] + " is " + person["age"] + " years old.";
के लिए जावास्क्रिप्ट... लूप में
जावास्क्रिप्ट for...in
स्टेटमेंट किसी वस्तु के गुणों के माध्यम से लूप करता है।
वाक्य - विन्यास
for (let variable in object) {
// code to be executed
}
लूप के अंदर कोड का ब्लॉक for...in
प्रत्येक संपत्ति के लिए एक बार निष्पादित किया जाएगा।
किसी वस्तु के गुणों के माध्यम से लूपिंग:
उदाहरण
const person = {
fname:" John",
lname:" Doe",
age: 25
};
for (let x in person) {
txt += person[x];
}
नई गुण जोड़ना
आप किसी मौजूदा वस्तु को केवल एक मान देकर उसमें नए गुण जोड़ सकते हैं।
मान लें कि व्यक्ति वस्तु पहले से मौजूद है - फिर आप इसे नए गुण दे सकते हैं:
उदाहरण
person.nationality = "English";
गुण हटाना
delete
कीवर्ड किसी ऑब्जेक्ट से किसी प्रॉपर्टी को हटाता है :
उदाहरण
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
delete person.age;
या व्यक्ति को हटाएं ["आयु"];
उदाहरण
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
delete person["age"];
कीवर्ड संपत्ति के delete
मूल्य और संपत्ति दोनों को ही हटा देता है।
हटाने के बाद, संपत्ति को फिर से जोड़ने से पहले उसका उपयोग नहीं किया जा सकता है।
delete
ऑपरेटर को ऑब्जेक्ट गुणों पर उपयोग करने के लिए डिज़ाइन किया गया है ।
इसका चर या कार्यों पर कोई प्रभाव नहीं पड़ता है।
पूर्वनिर्धारित जावास्क्रिप्ट ऑब्जेक्ट गुणों पर ऑपरेटर का delete
उपयोग नहीं किया जाना चाहिए। यह आपके एप्लिकेशन को क्रैश कर सकता है।
नेस्टेड ऑब्जेक्ट्स
किसी वस्तु में मान दूसरी वस्तु हो सकते हैं:
उदाहरण
myObj = {
name:"John",
age:30,
cars: {
car1:"Ford",
car2:"BMW",
car3:"Fiat"
}
}
आप डॉट नोटेशन या ब्रैकेट नोटेशन का उपयोग करके नेस्टेड ऑब्जेक्ट तक पहुंच सकते हैं:
उदाहरण
myObj.cars.car2;
या:
उदाहरण
myObj.cars["car2"];
या:
उदाहरण
myObj["cars"]["car2"];
या:
उदाहरण
let p1 = "cars";
let p2 = "car2";
myObj[p1][p2];
नेस्टेड सरणियाँ और वस्तुएँ
वस्तुओं में मान सरणियाँ हो सकते हैं, और सरणियों में मान वस्तुएँ हो सकते हैं:
उदाहरण
const myObj =
{
name: "John",
age: 30,
cars: [
{name:"Ford",
models:["Fiesta", "Focus", "Mustang"]},
{name:"BMW", models:["320", "X3", "X5"]},
{name:"Fiat", models:["500", "Panda"]}
]
}
सरणियों के अंदर सरणियों तक पहुँचने के लिए, प्रत्येक सरणी के लिए फॉर-इन लूप का उपयोग करें:
उदाहरण
for (let i in myObj.cars) {
x += "<h1>" + myObj.cars[i].name
+ "</h1>";
for (let j in myObj.cars[i].models) {
x += myObj.cars[i].models[j];
}
}
संपत्ति गुण
सभी संपत्तियों का एक नाम है। इसके अलावा उनका एक मूल्य भी है।
मूल्य संपत्ति की विशेषताओं में से एक है।
अन्य विशेषताएँ हैं: गणनीय, विन्यास योग्य और लिखने योग्य।
ये विशेषताएँ परिभाषित करती हैं कि संपत्ति तक कैसे पहुँचा जा सकता है (क्या यह पठनीय है?, क्या यह लिखने योग्य है?)
जावास्क्रिप्ट में, सभी विशेषताओं को पढ़ा जा सकता है, लेकिन केवल मूल्य विशेषता को बदला जा सकता है (और केवल अगर संपत्ति लिखने योग्य है)।
(ईसीएमएस्क्रिप्ट 5 में सभी संपत्ति विशेषताओं को प्राप्त करने और सेट करने दोनों के तरीके हैं)
प्रोटोटाइप गुण
जावास्क्रिप्ट ऑब्जेक्ट अपने प्रोटोटाइप के गुणों को प्राप्त करते हैं।
कीवर्ड विरासत में delete
मिली संपत्तियों को नहीं हटाता है, लेकिन यदि आप एक प्रोटोटाइप संपत्ति को हटाते हैं, तो यह प्रोटोटाइप से विरासत में मिली सभी वस्तुओं को प्रभावित करेगा।