Объекты JavaScript
Реальные объекты, свойства и методы
В реальной жизни машина — это объект .
Автомобиль имеет такие свойства , как вес и цвет, а также такие методы , как запуск и остановка:
Объект | Характеристики | Методы |
---|---|---|
car.name = Fiat car.model = 500 car.weight = 850kg car.color = белый |
car.start() car.drive() car.brake() car.stop() |
Все автомобили имеют одинаковые свойства , но значения свойств различаются от автомобиля к автомобилю.
Все автомобили имеют одинаковые методы , но методы выполняются в разное время .
Объекты JavaScript
Вы уже узнали, что переменные JavaScript являются контейнерами для значений данных.
Этот код присваивает простое значение (Fiat) переменной car:
let car = "Fiat";
Объекты тоже переменные. Но объекты могут содержать множество значений.
Этот код присваивает множество значений (Fiat, 500, белый) переменной car:
const car = {type:"Fiat", model:"500", color:"white"};
Значения записываются в виде пар имя:значение (имя и значение разделены двоеточием).
Общепринятой практикой является объявление объектов с помощью ключевого слова const .
Узнайте больше об использовании const с объектами в главе: JS Const .
Определение объекта
Вы определяете (и создаете) объект JavaScript с литералом объекта:
Пример
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Пробелы и переносы строк не важны. Определение объекта может занимать несколько строк:
Пример
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
Свойства объекта
Пары имя:значения в объектах JavaScript называются свойствами :
Имущество | Стоимость имущества |
---|---|
имя | Джон |
фамилия | Доу |
возраст | 50 |
цвет глаз | синий |
Доступ к свойствам объекта
Вы можете получить доступ к свойствам объекта двумя способами:
objectName.propertyName
или
objectName["propertyName"]
Пример1
person.lastName;
Пример2
person["lastName"];
Объекты JavaScript — это контейнеры для именованных значений, называемых свойствами.
Методы объекта
Объекты также могут иметь методы .
Методы — это действия , которые можно выполнять над объектами.
Методы хранятся в свойствах как определения функций .
Имущество | Стоимость имущества |
---|---|
имя | Джон |
фамилия | Доу |
возраст | 50 |
цвет глаз | синий |
полное имя | function() {возвратите this.firstName + " " + this.lastName;} |
Метод — это функция, хранимая как свойство.
Пример
const person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
это ключевое слово
В определении функции this
относится к «владельцу» функции.
В приведенном выше примере this
это объект person , который «владеет»
fullName
функцией.
Другими словами, this.firstName
означает firstName
свойство этого объекта .
Узнайте больше о this
ключевом слове в JS this Keyword .
Доступ к методам объекта
Вы получаете доступ к объектному методу со следующим синтаксисом:
objectName.methodName()
Пример
name = person.fullName();
Если вы обращаетесь к методу без круглых скобок (), он вернет определение функции :
Пример
name = person.fullName;
Не объявляйте строки, числа и логические значения объектами!
Когда переменная 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
Избегайте String
, Number
и Boolean
объектов. Они усложняют ваш код и замедляют скорость выполнения.
Вы узнаете больше об объектах позже в этом уроке.