# Object.getOwnPropertyNames() მეთოდი აბრუნებს ***მასივს***, რომელიც შეიცავს უშუალოდ მოცემული ობიექტის ყველა ფროფერთის (non-enumerable ფროფერთების ჩათვლით, გარდა იმათი, რომელიც იყენებს Symbol-ს). ## Syntax Object.getOwnPropertyNames(მოცემული ობიექტი) ## Description enumerable ფროფერთებს აბრუნებს იმ თანმიმდევრობით, რომელიც დაბრუნდებოდა ***for...in*** ციკლის გადავლით(ან რასაც დააბრუნებდა ***Object.keys()*** მეთოდი). ES6-ში ობიექტის რიცხობრივი key-ები ემატება მასივს პირველი, ზრდადობის მიხედვით, ხოლო შემდეგ სტრინგები - ობიექტში მათი დამატების მიხედვით. ES5-ში თუ მეთოდზე გადაცემული მნიშვნელობა არ არის ობიექტი, TypeError-ს დაარტყამს ###### example Object.getOwnPropertyNames('name'); // output : TypeError: "name" is not an object (ES5 code) ES2015-ში არაობიექტი გადაითარგმენა ობიექტად ###### example Object.getOwnPropertyNames('name'); //output: [ '0', '1', '2', '3', 'length' ] (ES2015 code) ## Examples ###### array example const arr = ['n', 'a', 'm', 'e']; console.log(Object.getOwnPropertyNames(arr).sort()); output: [ '0', '1', '2', '3', 'length' ] ###### object example let obj = { name: 'Kris', age: 25, course: 'React', }; console.log(Object.getOwnPropertyNames(obj).sort()); output: [ 'age', 'course', 'name' ] ###### ციკლით გადავლა Object.getOwnPropertyNames(obj).forEach(value => { console.log(value + ' - ' + obj[value]); }); output: name - Kris age - 25 course - React