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

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

Прежде чем мы начнем, я хочу, чтобы вы представили тип данных как ящик для хранения элементов. Чем больше ящиков, тем больше вы можете хранить.

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

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

{
  lengthInCentimeteres: 8,
  color: 'black',
  company: 'permanent'
}

Передать объект в аргумент функции

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

const pen = {
  lengthInCentimeteres: 8
  color: 'black',
  company: 'permanent'
};

changeColorToBlue(pen);
console.log(pen.color); // blue

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