Методы объекта 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();
Важные встроенные методы объектов.
- 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(). Если вы найдете эту статью полезной. хлопайте в ладоши и подписывайтесь, чтобы узнать больше.