Методы объекта JavaScript — это функции, связанные с объектами, и их можно вызывать для этих объектов для выполнения определенных действий. они определяются как свойства объекта и предоставляют функциональные возможности для управления, доступа или взаимодействия с данными объекта.

Объектные методы — это мощные возможности JavaScript, позволяющие инкапсулировать связанные функции внутри объекта и работать с его внутренним состоянием. Эти методы могут изменять свойства объекта, извлекать данные из объекта, выполнять вычисления и многое другое.

чтобы определить метод объекта, вам нужно назначить функцию как значение свойства внутри объекта. Затем метод можно вызвать, используя точечную запись, обратившись к свойству, содержащему метод, и, следовательно, вызвав его как функцию.

Пример объектного метода.

const person = {
  name: 'James',
  age: 27,
  sayHello: function() {
    console.log('Hello, my name is ${this.name} I am ${this.age} years old.');
  }
};
person.sayHello();

Важные встроенные методы объектов.

  1. Object.keys(obj): возвращает массив перечисляемых имен свойств объекта.
const obj = {name:"James", age: 27, gender: "male"};
const keys = Object.keys(obj);
console.log(keys); //Output : ['name', 'age', 'gender']

2. Object.values(obj): возвращает массив, содержащий значения объекта.

const obj = {name:"James", age: 27, gender: "male"};
const values = Object.valuess(obj);
console.log(values); //Output : ['James', 27, 'male']

3. Object.entries(obj): возвращает массив пар ключ-значение свойства объекта.

const obj = {name:"James", age: 27, gender: "male"};
const entries = Object.entries(obj);
console.log(keys); //Output : [['name', 'James'], ['age', 27], ['gender', 'male']]

4. Object.assign(target, …sources): копирует значения всех перечисляемых свойств из одного или нескольких исходных объектов в целевой объект.

const target = {};
const source = {name:"James", age: 27, gender: "male"};
Object.assign(target, source);
console.log(target); // Output: {name:"James", age: 27, gender: "male"}

5. Object.hasOwnProperty(prop): возвращает логическое значение, указывающее, имеет ли объект указанное свойство как собственное свойство и не унаследовано.

const obj = {name:"James", age: 27, gender: "male"};
console.log(obj.hasOwnProoerty('name')); // Output: true
console.log(obj.hasOwnProoerty('lastName')); // Output: false

6. Object.freeze(obj): замораживает объект, предотвращая добавление новых свойств и удаление существующих.

const obj = {name:"James", age: 27, gender: "male"};
Object.freeze(obj);
obj.age = 30; // the assignment is ignored in strict mode or throws an error in non-strict mode.
console.log(obj); // Output: {name:"James", age: 27, gender: "male"}

Это основные встроенные методы объекта, которые должен знать и понимать любой разработчик JavaScript. уделите время изучению различий между freeze() и seal(). Если вы найдете эту статью полезной. хлопайте в ладоши и подписывайтесь, чтобы узнать больше.