Что такое объект в JavaScript? В JavaScript все является объектом, кроме примитивных типов. Объект может иметь как состояние, так и поведение, включая свойства и методы. Допустим, мы только что купили новый дом, а на заднем дворе была куча странно выглядящих камней. Внезапно появляется почтовый голубь с запиской от наших северных соседей, что из-за смены времен года наступает конец света, и единственный способ остановить это - это камни на нашем заднем дворе! Однако это только определенные породы, это должно быть вулканическое стекло, иметь шкалу Мооса 6, и они немедленно тают лед. В консоль JavaScript!
Есть три способа создать объект в JavaScript. Первый - сделать объект буквальным.
var dragonGlass = { category: "volcanic glass", mohs: 6, ice_melting: true }
Классика, а что еще мы могли сделать? Мы также можем создать экземпляр Object, используя ключевое слово new, а затем назначить свойства, используя точечную нотацию или нотацию в скобках. В чем разница между этими двумя? С помощью скобок мы можем назначать свойства, а также мы можем назначить переменную имени свойства, и JavaScript все равно ее примет. В точечной нотации вы можете использовать только явное имя свойства и только строковые типы.
var dragonGlass = new Object(); dragonGlass.category = "volcanic glass" var rocksProp = "category" console.log(dragonGlass[rocksProp]); // "volcanic glass"
Последний способ создания объекта - использовать конструктор, в котором вы можете начать делать много интересных вещей, например, назначать функции и определять область видимости.
var dragonGlass = function() { this.category = "volcanic glass"; this.mohs = 6; this.ice_melting = true; this.destroy = function(white_walker) { return (white_walker + "has been destroyed. Nice."); } }
Чтобы узнать больше об объектах, загляните в MDN, как можно ближе к Цитадели, насколько это возможно в этой жизни.