Здравствуйте, коллеги-энтузиасты кода! Сегодня мы собираемся погрузиться в мир объектов JavaScript. Пристегнитесь, потому что это будет веселая поездка!
Реальные объекты, свойства и методы
Начнем с реальной аналогии. Подумайте о машине. Автомобиль - это объект, верно? У него есть такие свойства, как вес и цвет, а также такие методы, как запуск и остановка. Теперь представьте, если бы наша машина была объектом JavaScript. Это будет выглядеть примерно так:
let car = { name: "Fiat", model: "500", weight: "850kg", color: "white", start: function() { /* code to start the car */ }, drive: function() { /* code to drive the car */ }, brake: function() { /* code to apply brakes */ }, stop: function() { /* code to stop the car */ } };
Все автомобили имеют одинаковые свойства, но значения свойств различаются от автомобиля к автомобилю. Точно так же все автомобили имеют одни и те же методы, но методы выполняются в разное время. Все как в реальной жизни!
Объекты JavaScript: больше, чем просто переменные
В JavaScript переменные являются контейнерами для значений данных. Вы можете присвоить простое значение переменной следующим образом:
let car = "Fiat";
Но что, если бы наша машина могла хранить больше информации? Вот тут-то и появляются объекты JavaScript. Объекты тоже являются переменными, но они могут содержать множество значений. Проверь это:
const car = { type: "Fiat", model: "500", color: "white" };
Значения записываются в виде пар имя:значение, разделенных двоеточием. Общепринятой практикой является объявление объектов с помощью ключевого слова const
.
Определение объекта
Вы определяете (и создаете) объект JavaScript с литералом объекта. Вот пример:
const person = { firstName: "John", lastName: "Doe", age: 50, eyeColor: "blue" };
Пробелы и переносы строк не важны. Определение объекта может занимать несколько строк.
Доступ к свойствам объекта
Вы можете получить доступ к свойствам объекта двумя способами:
objectName.propertyName
or
objectName["propertyName"]
Например, если вы хотите получить доступ к фамилии Джона Доу, вы можете сделать это следующим образом:
person.lastName; // returns "Doe"
or
person["lastName"]; // also returns "Doe"
Методы объекта
Объекты также могут иметь методы. Методы — это действия, которые можно выполнять над объектами. Они хранятся в свойствах как определения функций. Вот пример:
const person = { firstName: "John", lastName: "Doe", id: 5566, fullName: function() { return this.firstName + " " + this.lastName; } };
В этом примере this
относится к объекту person
. Итак, this.firstName
означает firstName
свойство person
.
Что это?
В JavaScript ключевое слово this
относится к объекту. К какому объекту он относится, зависит от того, как вызывается this
. В объектном методе this
относится к объекту. Сам по себе this
относится к глобальному объекту. В функции this
относится к глобальному объекту. В функции в строгом режиме this
не определено. В событии this
относится к элементу, получившему событие. Такие методы, как call()
, apply()
и bind()
, могут ссылаться this
на любой объект.
Помните, что this
не является переменной. Это ключевое слово. Вы не можете изменить значение this
.
Доступ к методам объекта
Вы получаете доступ к объектному методу со следующим синтаксисом:
objectName.methodName()
Например, если вы хотите получить полное имя Джона Доу, вы можете сделать это следующим образом:
let name = person.fullName(); // returns "John Doe"
Если вы обращаетесь к методу без скобок ()
, он вернет определение функции:
let name = person.fullName; // returns the function definition
Слово предостережения
Когда переменная JavaScript объявляется с ключевым словом new
, переменная создается как объект:
x = new String(); // Declares x as a String object y = new Number(); // Declares y as a Number object z = new Boolean(); // Declares z as a Boolean object
Избегайте строковых, числовых и логических объектов. Они усложняют ваш код и замедляют скорость выполнения.
И все, народ! Вы только что прокатились по миру объектов JavaScript. Помните, как и автомобили, объекты JavaScript имеют свойства и методы. И точно так же, как вождение, программирование должно приносить удовольствие. Так что продолжайте тренироваться и наслаждайтесь поездкой!
О, и последнее. Почему программисты не любят природу? В нем слишком много ошибок! (Надеюсь, это заставило вас улыбнуться. Если нет, обещаю в следующий раз придумать шутку получше!)
Удачного кодирования!