JavaScript Объекты
Объекты, свойства и методы из реальной жизни
В реальной жизни автомобиль - это объект.
Автомобиль имеет такие свойства, как вес и цвет, а также методы, такие как старт и стоп:
Объект | Свойства | Методы |
---|---|---|
![]() |
car.name = Фиат car.model = 500 car.weight = 850kg car.color = белый |
car.start() car.drive() car.brake() car.stop() |
Все автомобили имеют одинаковые свойства, но значения свойств различаются от машины к машине.
У всех автомобилей одни и те же методы, но методы выполняются в разное время.
JavaScript Объекты
Вы уже узнали, что переменные JavaScript являются контейнерами для значений данных.
В примере ниже, код присваивает простое значение (Фиат), переменной с именем car:
var car = "Фиат";
Попробуйте сами »
Объекты тоже переменные. Но объекты могут содержать много значений.
В примере ниже, код присваивает несколько значений (Фиат, 500, белый), переменной с именем car:
var car = {type:"Фиат", model:"500", color:"белый"};
Попробуйте сами »
Значения записываются как пары Имя: Значение и разделяются двоеточием.
JavaScript Объекты - это контейнеры для именованных значений, называемых свойствами или методами.
Определение объекта
Ниже, определяется (создается) JavaScript объект с помощью объекта литералов:
Пример
var person = {firstName:"Щипунов", lastName:"Андрей", age:50, eyeColor:"зеленый"};
Попробуйте сами »
Пробелы и переносы строк не важны. Определение объекта может занимать несколько строк:
Пример
var person = {
firstName: "Щипунов",
lastName: "Андрей",
age: 50,
eyeColor: "зеленый"
};
Попробуйте сами »
Свойства объекта
Пара Имя: Значения в JavaScript объектах, называются свойствами:
Имя свойства | Значение свойства |
---|---|
firstName | Щипунов |
lastName | Андрей |
age | 50 |
eyeColor | зеленый |
Доступ к свойствам объекта
Вы можете получить доступ к свойствам объекта двумя способами:
objectName.propertyName
или
objectName["propertyName"]
Методы объекта
У объектов также, могут быть методы.
Методы - это действия, которые выполняются объектами.
Методы хранятся в свойствах как определения функций.
Имя свойства | Значение свойства |
---|---|
firstName | Щипунов |
lastName | Андрей |
age | 50 |
eyeColor | зеленый |
fullName | function() {return this.firstName + " " + this.lastName;} |
Метод - это функция, хранящаяся как свойство.
Пример
var person = {
firstName: "Щипунов",
lastName : "Андрей",
id : 5566,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
Ключевое слово this
В определении функции this
относится к "владельцу" функции.
В приведенном выше примере this
- является объектом person, которому "принадлежит" функция fullName
.
Другими словами, this.firstName
означает firstName
, свойство этого объекта.
Подробнее о this
ключевом слове читайте в JS this ключевое слово.
Доступ к методам объекта
Вы получаете доступ к методу объекта со следующим синтаксисом:
objectName.methodName()
Если вы обращаетесь к методу без скобок (), он вернет определение функции:
Не объявляйте строки, числа и логические значения как объекты!
Когда, JavaScript переменная объявляется с ключевым словом "new
", переменная создается как объект:
var x = new String(); // Объявляет x как строковый объект
var y = new Number(); // Объявляет x как числовой объект
var z = new Boolean(); // Объявляет z как логический объект
Избегайте Строки
, Числа
, и Булевы
как объекты.
Они усложняют ваш код и замедляют скорость выполнения.
Вы узнаете больше об объектах позже в этом руководстве.