Рубрики
Без рубрики

4 метода статического объекта, о которых я хотел бы знать о Раньше

Когда дело доходит до написания кода в JavaScript, объекты являются очень важной и полезной частью … С тегом WebDev, начинающих, Codenewbie, JavaScript.

Когда дело доходит до написания кода в JavaScript, объекты являются очень важной и полезной частью языка. Если вы еще не узнали об объектах, это нормально! Вы можете придумать объект как способ создать коллекцию пар ключей. Например, у меня есть имя и фамилия и город, в котором я живу. Это были бы ключи пар клавишных значений. Значениями были бы части информации, и его название – Сандрико, фамилия – Прово, а город – Галифакс. Вот как это выглядело бы внутри объекта.

let myInfo = {
  firstName: "Sandrico",
  lastName: "Provo",
  city: "Halifax"
}

У объектов есть так много вариантов использования в JavaScript, и пример выше – только один сценарий, в котором вы можете их использовать. Еще одна классная вещь об объектах заключается в том, что всякий раз, когда мы создаем один, у него есть набор методов, прикрепленных к ним, называемым статическими методами. Какие статические методы вы можете спросить 😃? Что ж, статические методы-это предварительно определенные методы, к которым мы имеем доступ к каждому объекту. Существует мастер -класс объекта, от которого каждый объект наследует эти методы, что -то вроде чертежа. Другая метафора будет машина. Каждый автомобиль, который вы покупаете в эти дни, имеет определенные базовые функции, такие как ремень безопасности и рулевое колесо, а статические методы – та же идея! Когда я начал изучать объекты, я не узнал о статических методах до позже. Статические методы, через которые мы собираемся пройти, помогли бы мне очень много, если бы я знал о них раньше, но теперь я надеюсь, что они спасают вас некоторое время при кодировании 😄.

Tldr

JavaScript объект Класс JS, который позволяет нам определить тип данных объекта. Это позволяет нам создать коллекцию пар ключевых значений.
Статические методы объекта Методы, которые предварительно определены и вызываются в классе объекта.
Методы экземпляра объекта Методы, которые предварительно определен и вызываются в одном экземпляре объекта.
Object.keys () Возвращает массив ключей объектов.
Object.assign () Копирует свойства исходных объектов в целевой объект.
Object.Entries () Возвращает массив всех пар клавиш объектов.
Object.Fromentries () Противоположность .Entries (), это превращает список пары ключей в объект.
Object.prototype.hashownproperties () Возвращает true или false на основе того, имеет ли объект заданный ключ.

Давайте настроим пример для нас.

let countryCanada = {
    countryName: "Canada",
    capital: "Ottawa",
    region: "North America",
    population: 37590000,
    neighbour: "United States"
}

Object.keys ()

Иногда, когда вы работаете с объектом, вы можете перечислить все его ключи. Object.keys () – это метод, который позволяет нам делать это! Когда вы используете object.keys (), вы возвращаете массив, который содержит все ключи этих объектов. Забавный факт: массив, который вы получите, должен быть в том же порядке, что и объект, в котором находятся ключи. Вот как это будет выглядеть в коде.

let propertiesArray = Object.keys(countryCanada);
// Output: ['countryName', 'capital', 'region', 'population', 'neighbour']

Object.assign ()

Иногда вы можете захотеть сделать копию объекта и его пары ключей. Object.assign () позволяет нам сделать это, копируя пары клавиш значений из исходного объекта в целевой объект. Целевой объект уже может быть пустым или объектом с собственными свойствами. Если целевой объект имеет свои собственные свойства, вы должны быть осторожны, потому что, если у источника и цели есть соответствующее свойство, значение источников перезаписывает значение цели. Еще один совет – то, что вы также можете иметь несколько источников! Давайте посмотрим пример.

// Make a copy using Object.assign()
let copiedCountry = Object.assign({}, countryCanada);
console.log(copiedCountry);
// Output: copiedCountry { countryName: "Canada", capital: "Ottawa", region: "North America", population: 37,590,000, neighbour: "United States" }

Object.Entries ()

Этот статический метод позволяет конвертировать ваши объекты в массивы. Если бы мы сделали это с нашим примером объекта, вот как будет выглядеть выход.

let convertedCountryArray = Object.entries(countryCanada);
// Output: [["countryName", "Canada"], ["capital", "Ottawa"], ["region", "North America"], ["population", 37590000], ["neighbour", "United States"]]

Как видите, выходной массив представляет собой 2D -массив (массив с массивами, вложенными внутри него). Одним из преимуществ работы с этим объектом в качестве массива является то, что вы можете использовать огромный массив (🙊😅) методов массива для его манипулирования. Теперь вы преобразовали этот объект в массив, но что, если вы хотите преобразовать его обратно в объект? Ну, есть и метод для этого!

Object.Fromentries ()

Вы можете думать об этом методе как о том, чтобы сделать обратную сторону Object.Entries (). Это требует массива и преобразует его в объект. Если бы мы использовали это в нашем примере CountertedCountryRaray из нашего объекта. Entries (), мы бы вернулись к нашему первоначальному объекту.

let reconvertedCountryArray = Object.fromEntries(convertedCountryArray);
console.log(reconvertedCountryArray);

// Output: countryCanada = { countryName: "Canada", capital: "Ottawa", region: "North America", population: 37590000, neighbour: "United States" }

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

let manipulatedObject = Object.fromEntries(
  Object.entries(countryCanada).filter(([key, value]) => { 
    if (value === "Ottawa") return [key, value];
  }
));
// Output: { capital: "Ottawa" }

Бонус: object.prototype.hashownproperty () Метод экземпляра

Вот два термина, которые помогут объяснить наш бонусный пример.

Прототип Прототип – это то, что используют объекты JS, чтобы наследовать методы/функции и другие функции друг от друга.
Метод экземпляра Методы экземпляра – это методы, встроенные на объекты, которые работают на конкретном экземпляре объекта вместо класса объекта.

Object.prototype.hashownproperty () является полезным методом, поскольку он позволяет нам проверять, имеет ли объект, с которым мы работаем, есть определенное свойство. Важный факт, который следует помнить, заключается в том, что этот метод проверяет, владеет ли объект той свойство, которое мы ищем, как противостоять унаследовать это . Вот пример.

let isPropertyOwned = countryCanada.hasOwnProperty("capital");
console.log(isPropertyOwned);
// Output: true

Как и многие вещи в кодировании, есть несколько способов, которыми вы могли бы сделать такой чек, но приятно иметь встроенную функцию, чтобы помочь вам 👍 🏾.

Там мы есть. Мы посмотрели на object.keys (), .assign (), .entries (), .fromentries () и .hashownproperty (). Эти методы могли бы сэкономить мне время, когда я начинал, так что, надеюсь, они помогут вам сэкономить время в вашем путешествии.

Счастливого обучения 😄👋🏾!

Оригинал: “https://dev.to/sandricoprovo/4-static-object-methods-i-wish-i-knew-about-sooner-3l32”