Методы объекта делают работу с прототипом объекта проще и эффективнее для вас как разработчика!

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

Синтаксис: ObjectName.methodName()

В этой статье мы обсудим 7 наиболее часто используемых объектных методов в Javascript, которые сделают работу с прототипом объекта еще проще для вас!

1. Object.is ()

Object.is () - метод, определяющий, являются ли два значения одним и тем же значением.

Синтаксис: Object.is(value1, value2);

Параметры:

  • value1: первое значение для сравнения.
  • value2: второе значение для сравнения.

Возвращаемое значение: логическое выражение, указывающее, имеют ли два аргумента одинаковое значение.

Пример:

// Case 1: Evaluation result is the same as using '==='
Object.is(25, 25);                // true
Object.is('foo', 'bar');          // false
Object.is(foo, foo);              // true
// Case 2: Signed zero
Object.is(0, -0);                 // false
Object.is(0n, -0n);               // true
// Case 3: NaN
Object.is(NaN, 0/0);              // true
Object.is(NaN, Number.NaN)        // true

2. Object.assign ()

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

Синтаксис: Object.assign(target, ...sources)

Параметры:

  • target: Целевой объект - к чему применить свойства источника, который возвращается после его изменения.
  • sources: исходный объект (ы) - объекты, содержащие свойства, которые вы хотите применить.

Возвращаемое значение: измененный целевой объект.

Пример:

const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
const returnedTarget = Object.assign(target, source);
console.log(target);
// expected output: Object { a: 1, b: 4, c: 5 }
console.log(returnedTarget);
// expected output: Object { a: 1, b: 4, c: 5 }

Примечание. Свойства в целевом объекте перезаписываются свойствами в источниках, если у них одинаковый ключ. Свойства более поздних источников перезаписывают более ранние.

3. Object.entries ()

Метод Object.entries () возвращает массив собственных перечислимых пар свойств [ключ, значение] заданного объекта со строковым ключом.

Это похоже на итерацию с циклом for… in, за исключением того, что цикл for… in также перечисляет свойства в цепочке прототипов. Порядок свойств такой же, как при переборе значений свойств объекта вручную.

Синтаксис: Object.entries(obj)

Параметры:

  • obj: объект, чьи собственные перечислимые пары свойств [key, value] со строковым ключом должны быть возвращены.

Возвращаемое значение: массив собственных перечислимых пар [key, value] свойств со строковым ключом данного объекта.

Пример:

const object1 = {name: "David", age: 23};
for (const [key, value] of Object.entries(object1)) {
  console.log(`${key}: ${value}`);
}
// "name: David"
// "age: 23"

4. Object.values ​​()

Метод Object.values ​​() возвращает массив значений перечислимых свойств данного объекта в том же порядке, что и в цикле for… in.

Синтаксис: Object.values(obj)

Параметры:

  • obj: объект, для которого должны быть возвращены перечислимые значения собственных свойств.

Возвращаемое значение: массив, содержащий собственные значения перечислимых свойств данного объекта.

Пример:

const object1 = {
  a: 'somestring',
  b: 42,
  c: false
};
console.log(Object.values(object1));
// expected output: Array ["somestring", 42, false]

5. Object.prototype.hasOwnProperty ()

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

Метод возвращает true, если указанное свойство является прямым свойством объекта, даже если значение равно null или undefined. Он возвращает false, если свойство унаследовано или вообще не было объявлено.

Синтаксис: hasOwnProperty(prop)

Параметры

  • prop: Строковое имя или символ тестируемого свойства.

Возвращаемое значение: возвращает true, если объект имеет указанное свойство как собственное свойство; false иначе.

Пример:

const object1 = {};
object1.property1 = 42;
console.log(object1.hasOwnProperty('property1'));
// expected output: true
console.log(object1.hasOwnProperty('toString'));
// expected output: false
console.log(object1.hasOwnProperty('hasOwnProperty'));
// expected output: false

6. Object.keys ()

Метод Object.keys () используется для возврата массива имен перечислимых свойств данного объекта, повторяемых в том же порядке, что и в обычном цикле.

Синтаксис: Object.keys(obj)

Параметры:

  • obj: объект, для которого должны быть возвращены собственные свойства перечислимого.

Возвращаемое значение: массив строк, представляющий все перечислимые свойства данного объекта.

Пример:

const object1 = {
  a: 'somestring',
  b: 42,
  c: false
};
console.log(Object.keys(object1));
// expected output: Array ["a", "b", "c"]

7. Object.prototype.toString ()

Метод toString () возвращает строку, представляющую объект. Этот идентификатор метода автоматически вызывается, когда объект должен быть представлен как текстовое значение или когда объект упоминается так, как ожидается строка. По умолчанию метод toString () наследуется каждым объектом, производным от Object.

Синтаксис: toString()

Возвращаемое значение: строка, представляющая объект.

Примеры:

function Dog(name) {
  this.name = name;
}
const dog1 = new Dog('Gabby');
Dog.prototype.toString = function dogToString() {
  return `${this.name}`;
};
console.log(dog1.toString());
// expected output: "Gabby"

Примечание. Для Numbers и Big Ints toString () принимает необязательный параметр radix, значение которого должно быть от 2 до 36.

8. Object.freeze ()

Метод Object.freeze () замораживает объект, то есть его больше нельзя изменить. Замораживание объекта предотвращает добавление к нему новых свойств, удаление существующих свойств, предотвращает изменение перечисляемости, настраиваемости или возможности записи существующих свойств и предотвращает изменение значений существующих свойств. Это также предотвращает изменение его прототипа.

Синтаксис: Object.freeze(obj)

Параметры:

  • obj: объект, который нужно заморозить.

Возвращаемое значение: объект, переданный функции.

Пример:

const obj = {
 prop: 42
};
Object.freeze(obj);
obj.prop = 33;
// Throws an error in strict mode
console.log(obj.prop);
// expected output: 42