Справка по JavaScript: объект

Все о свойствах и методах объекта JavaScript

Этот пост документирует всеObjectвстроенные свойства и методы объекта.

Любое значение, не относящееся к примитивному типу (строка, число, логическое значение,символ, null или undefined) являетсяобъект. Даже массивы или функции под капотами являются объектами.

Anobjectзначение может быть сгенерировано с использованием синтаксиса объектного литерала:

const person = {}
typeof person //object

с использованиемObjectглобальная функция:

const person = Object()
typeof person //object

или с помощью конструктора объекта:

const person = new Object()
typeof person //object

Другой синтаксис - использоватьObject.create():

const car = Object.create()

Вы можете инициализировать объект со свойствами, используя этот синтаксис:

const person = {
  age: 36,
  name: 'Flavio',
  speak: () => {
    //speak
  }
}

const person = Object({ age: 36, name: ‘Flavio’, speak: () => { //speak } })

const person = new Object({ age: 36, name: ‘Flavio’, speak: () => { //speak } })

Все эти способы в основном эквивалентны, поскольку все они предоставляют вам доступ к методам, которые я перечислю ниже.

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

function Car(brand, model) {
  this.brand = brand
  this.model = model
}

Мы инициализируем новый объект, используя

const myCar = new Car('Ford', 'Fiesta')
myCar.brand //'Ford'
myCar.model //'Fiesta'

Объекты имеютхарактеристики. У каждого свойства есть имя и значение.

Вы можете подумать, что объект в основномкарта, или жетолковый словарь, структура данных, и вы будете правы.

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

Когда значение свойства является функцией, мы называем этометод.

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

Объектывсегда передается по ссылке.

Если вы присваиваете переменной то же значение, что и другая, если это примитивный тип, такой как число или строка, они передаются по значению:

let age = 36
let myAge = age
myAge = 37
age //36
const car = {
  color: 'blue'
}
const anotherCar = car
anotherCar.color = 'yellow'
car.color //'yellow'

Встроенные свойства объекта

Объект Object имеет 2 свойства

  • lengthвсегда равно1
  • prototypeэто указывает на объект-прототип Object: объект, от которого наследуются все остальные объекты. Проверитьпрототипное наследованиепост для получения дополнительной информации.

Статические методы

Мы делим методы на статические методы и методы экземпляра. Статические методы вызываются непосредственно наObject. Методы экземпляра вызываются для экземпляра объекта (anобъект).

Статические методы - отличный способ предложить пространство имен для функций, которые работают в одном пространстве. Таким образом, у нас нет глобальных функций, но все они располагаются в пространстве имен подObjectглобальный объект.

Методы экземпляра

Скачать мою бесплатнуюРуководство для начинающих по JavaScript


Больше руководств по js: