Объект — набор свойств, перечисляемы в виде имя: значение.
{
name: value,
name.value
}
Например,
{
name: "Maxim",
age: 41,
gender: "male"
}
Этот способ создания объекта — объектный литерал.
let person = {
name: "Maxim",
age: 41,
gender: "male"
}
console.log(person.name);
Обращение выражение.идентификатор:
person.name;
person.age;
Обращение выражение[выражение]:
person["age"];
Можно менять свойства объекта или добавлять их:
person.age = 25;
person.userID = 1234567;
Значением свойства может быть функция. Она будет назваться методом.
let person = {
name: "Maxim",
age: 41,
gender: "male",
sayHello: function() {
return "Hello!";
}
}
Создание объекта с помощью функции-конструктора.
let object = new Object();
oblect.property = "value";
Создание с помощью статического метода create
класса Object
.
let object = Object.create(null);
Можно передать null
или объект.
let object = Object.create({
x: 10,
y: 20
});
Это будут свойства, унаследованные от прототипа, не собственные. Метод hasOwnProperty("x");
при этом вернёт false
. Но если добавить свойство объекта object.x = 20;
вернёт true
.
delete object.x;
console.log("x" in object);
Особенности использования операторов проверки — в примере.
var person = {
name: "Sorax",
age: 20,
gender: "male",
sayHi: function() {
return "Hello!";
}
}
person.age = 25;
person.userID = 123456789;
console.log(person.name);
console.log(person["age"]);
console.log(person);
console.log(person.sayHi());
var object = new Object();
object.property = "value";
console.log(object);
console.log(object.property);
var object = Object.create(null);
console.log(object);
var object = Object.create({
x: 10,
y: 20
});
object.x = 15;
object.y = 25;
console.log(object);
delete object.x;
console.log(object);
console.log("object.hasOwnProperty: " + object.hasOwnProperty("x"));
console.log("x" in object);
console.log("o" in object);
console.log(object.x);
console.log(object.o);