როგორც val-do.com-ზე არსებული ჯავასკრიპტის კურსიდან ვისწავლეთ, ობიექტის თვისებების მნიშვნელობის წვოდმა შესაძლებელია 2 გზით, წერტილით და კვადრატული ფრჩხილებით.
მაგალითი:
const user = { name: "Val Do" };
console.log(user.name); // დაიბეჭდება Val Do
console.log(user["name"]; // დაიბეჭდება Val Do
მოცემულ ბლოგში, ვეცდები მარტივი მაგალითებით ავხსნა ამ ორ მეთოდს შორის რა სხვაობებია და რომელი მეთოდით ჯობს მივწვდეთ სასურველი ობიექტის მნიშვნელობებს.
object.property
ობიექტის თვისებაზე წერტილით წვდომა სასურველია მაშინ, როდესაც თვისება წარმოადგენს ჯავასკრიპიტს სწორ მნიშნველობას, ანუ არ შეიცავს სიცარიელეს (white spaces), არ იწყება რიცხვითი მნიშვნელობით, არ არის ე.წ. დარეზერვებული საკვანძო სიტყვა (keyword).
ასევე წერტილით წვდომა სასურველია იმ შემთვევაში თუ დარწმუნებული ვართ ობიექტის სტატიკურ მნიშნველობაში.
მაგალითი:
const obj = { name: 'John' };
console.log(obj.name); // დაიბეჭდება: John
object["property"]
წერტილის წვდომისგან განსხვავებით ფრჩხილებით წვდომა გვაძლევს საშუალებას მივწვდეთ ისეთ ობიექტებს, რომლებიც გენერირებულია დინამიურად და შეიცავს სპეციალურ სიმბოლოებს, ისეთებს, როგორებიცაა სიცარიეელები (white spaces), რიცხვითი მნიშნველობით დაწყებული თვისების სახელები და ასევე დარეზერვებული სიტყვები.
ქვემოთ მოცემულია ობიექტზე წვდომის მაგალითები კვადრატული ფრიჩხილების გამოყენებით
მაგალითი 1: დინამიური წვდომა
const key = 'name';
const obj = { name: 'John' };
console.log(obj[key]); // დაიბეჭდება: John
მაგალითი 2: ობიექტზე წვდომა, რომელის თვისებაც შეიცავს სიცარიელეს
const obj = {
'first name': 'John',
age: 30
};
console.log(obj['first name']); // დაიბეჭდება: John
მაგალითი 3: ობიექტზე წვდომა, რომლის თვისებაც იწყება რიცხვითი მნიშვნელობით
const obj = { '123abc': 'value' };
console.log(obj['123abc']); // დაიბეჭდება: value
თუ მოგეწონათ ეს ბლოგი, გთხოვთ, გააზიაროთ ის თქვენს სოციალურ ქსელებში, რათა უფრო მეტ ადამიანს მიაწვდინოთ ეს ინფორმაცია. ასევე, თუ გსურთ, შეგიძლიათ შემომწირველობით მხარი დაუჭიროთ ჩემს შრომას და დაეხმაროთ ახალი და საინტერესო კონტენტის შექმნაში. თქვენი მხარდაჭერა ჩემთვის ძალიან მნიშვნელოვანი და დასაფასებელია!