# Object.getOwnPropertyDescriptors()
აბრუნებს მოცემული ობიექტის ყველა საკუთარი ფროფერთის დესკრიპტორს
## Syntax
Object.getOwnPropertyDescriptors(მოცემული ობიექტი)
#### დაბრუნებული მნიშვნელობა
მეთოდი აბრუნებს ობიექტს, რომელიც შეიცავს ყველა ფროფერთის დესკრიპტორს. შეიძლება იყოს ცარიელი ობიექტი, თუ ობიექტში არ არის ფროფერთი
###### example
let obj = {
name: 'Kris',
age: 25,
course: 'React',
}
console.log(Object.getOwnPropertyDescriptors(obj));
დააბრუნებს:
{
name: {
value: 'Kris',
writable: true,
enumerable: true,
configurable: true
},
age: { value: 25,
writable: true,
enumerable: true,
configurable: true },
course: {
value: 'React',
writable: true,
enumerable: true,
configurable: true
}
}
## Description
ფროფერთის დესკრიპტორები წარმოდგენილია შემდეგი ატრიბუტებით:
##### value
ფროფერთის მნიშვნელობა
##### writable
***true*** იმ შემთხვევაში თუ ფროფერთის მნიშვნელობის შეცვლა შეგვიძლია (მხოლოდ მონაცემთა შემცველი დესკრიპტორები)
##### get
ფუნქცია, რომელიც არის ***getter*** ფროფერთისთვის, ან ***undefined*** თუ არ არის გეთერი (მხოლოდ accessor დესკრიპტორები)
##### set
ფუნქცია, რომელიც არის ***setter*** ფროფერთისთვის, ან ***undefined*** თუ არ არის სეტერი (მხოლოდ accessor დესკრიპტორები)
##### configurable
***true*** იმ შემთხვევაში თუ ამ დესკრიპტორის ტიპის შეცვლა შეიძლება და თუ ფროფერთის წაშლა შეიძლება ამ ობიექტიდან
##### enumerable
***true*** იმ შემთხვევაში თუ ფროფერთი ჩანს ამ ობიექტის ფროფერთების ჩამონათვალში
## Examples
let obj = {
name: 'Kris',
age: 25,
};
console.log(Object.getOwnPropertyDescriptors(obj).name.writable);
console.log(Object.getOwnPropertyDescriptors(obj).name.value);
console.log(Object.getOwnPropertyDescriptors(obj).name.get);
console.log(Object.getOwnPropertyDescriptors(obj).name.enumerable);
console.log(Object.getOwnPropertyDescriptors(obj).name.configurable);
***output:***
true
Kris
undefined
true
true