JavaScript. Введение в объекты
Я продолжаю разбирать ваши комментарии на моем youtube канале и в данном уроке я обращу ваше внимание на урок 39, в котором один из слушателей попросил меня рассказать о прототипировании. Но рассказывать об этом сразу я не стал — сначала имеет смысл разобрать понятие объектов в javascript.
В предыдущих уроках, посвященных javscript, мы разбирали такие типы данных как строки, числа, булев тип и массивы. Но в наших приложениях нам очень часто может понадобиться работ не с «примитивными» переменными, а хранить некоторые связанные данные (например, информацию о человеке). Как вы понимаете, в данном случае «человек» — это «сложная», комплексная переменная, которая хранит внутри себя другие переменные (возраст, имя и пр.). Такая комплексная переменная называется объектом, а переменные внутри объекта — свойства. Помимо свойств, объект имеет методы (функции). Объект-человек имеет свойства имя, возраст, рост и пр. Но также человек может совершать какие-то действия — ходить, дышать, писать код. Эти действия и есть методы. В контексте объекта лучше употреблять именно термин «метод», а не функция.
Объект в javascript — это ассоциативный массив. А значит к свойствам объекта можно обращаться двумя способами:
1. object.name — обращение к свойству name в «традиционном» стиле объекта.
2. object[‘name’] — обращение к свойству в стиле массива (по ключу).
Код урока
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
var kamil = "kamil";
var age = 26;
var kamil = {
name: "Камиль",
age: 26,
birthdate: {
day: 29,
month: "июнь",
year: 1990
},
sayName: function() {
console.log("Меня зовут " + kamil.name);
}
};
kamil.sayName();
console.log("\n");
console.log("Копирование объектов и важность this");
anotherKamil = kamil;
kamil = null;
console.log(anotherKamil.sayName());
console.log(anotherKamil.name);
console.log("Обращение к свойствам");
console.log(kamil.birthdate.year);
console.log(kamil['name']);
console.log("\n");
console.log("Перебор свойств:");
for(prop in kamil) {
console.log(prop);
}
console.log("\n");
if("prop" in kamil) {
console.log("Свойство имеется");
}
kamil.sayName();
</script>
</body>
</html>
0 Комментариев