JavaScript разработан на основе простой объектно-ориентированной парадигмы. Объект можно создать с помощью фигурных скобок {…}
с дополнительным списком свойств. Свойство - это пара «ключ: значение», где key
- строка (также называемая «именем свойства»), а value
может быть любым.
В этой статье я расскажу об основных манипуляциях с объектом, которые мы используем в повседневной жизни кодирования.
Объявление объекта:
Пустой объект (пустой шкаф) можно создать с помощью одного из двух синтаксисов:
let user = new Object(); // "object constructor" syntax
let user = {}; // "object literal" syntax
Объект с конструктором:
Мы можем создать объект с помощью этих двух шагов:
- Определите тип объекта, написав функцию-конструктор. Существует строгая традиция и не без оснований использовать заглавную начальную букву.
- Создайте экземпляр объекта с
new
.
function User(name, age, mobile) { this.name = name; this.age = age; this.mobile = mobile; } var user1 = new User('Talha', 26, 8801967402131); console.log(user1) // user1 = { age: 26, mobile: 1993, name: "Talha" }
Доступ к свойствам объекта:
Мы можем получить доступ к свойствам объекта двумя разными способами. Один из них - скобки.
object[key]
а другой - точечная запись.
object.key
const user = { name: "Talha", age: 26, marks: { math: 20, eng:30 } }; console.log(user["marks"]["math"]) //20 console.log(user.marks.math) //20
Получить значения от объекта: Object.values()
Вернуть массив значений объекта.
const user1 = { age: 26, mobile: 8801967402131, name: "Talha" } const user = Object.values(user1); console.log(user) //[26, 8801967402131, "Talha"]
Получить ключи от объекта: Object.keys()
Вернуть массив ключей объекта.
const user1 = { age: 26, mobile: 8801967402131, name: "Talha" } const user = Object.keys(user1); console.log(user) //["age", "mobile", "name"]
Объект для записей массива: Object.entries()
Создает массив, содержащий массивы пар ключ / значение объекта.
const user1 = { age: 26, mobile: 8801967402131, name: "Talha" } const user = Object.entries(user1); console.log(user) //[["age", 26], ["mobile", 8801967402131], ["name", "Talha"]]
Слияние объекта с разворотом:
Объединение двух объектов и возврат нового объекта.
const user1 = { age: 26, mobile: 8801967402131, name: "Talha" } const newObj = { ...user1, location: 'sylhet' } console.log(newObj) // newObj = { age: 26, location: "Dhaka", mobile: 8801967402131, name: "Talha" }
Объединение двух объектов: Object.assign()
Аналогично оператору распространения. Позволяет объединять объекты вместе.
const user1 = { birtYear: 1993, name: "Talha" } const user1NewVal = { age: 26, } const combineObj = Object.assign(user1, user1NewVal) console.log(combineObj) // { age: 26, birtYear: 1993, name: "Talha" }
Замораживание объекта: Object.freeze()
Предотвращает изменение существующих свойств или добавление новых свойств и значений в объект. Часто бывает так, что люди думают, что const
делает, однако const
позволяет вам изменять объект.
const user1 = { age: 26, mobile: 1993, name: "Talha" } Object.freeze(user1); user1.name = 'Abu'; console.log(user1.name) //"Talha"
Объект заморожен или нет: Object.isFrozen ()
Object.isFrozen()
определяет, заморожен ли объект. Вернуть значение Bolean.
const user1 = { age: 26, mobile: 1993, name: "Talha" } console.log(Object.isFrozen(user1)) // false Object.freeze(user1) console.log(Object.isFrozen(user1)) // ture
Запечатывание объекта: Object.seal()
Метод запечатывает объект, предотвращая добавление к нему новых свойств и помечая все существующие свойства как не настраиваемые. Значения существующих свойств могут быть изменены, если они доступны для записи.
const user1 = { mobile: 1993, name: "Talha" } Object.seal(user1); user1.age = 'ABU'; console.log(user1.name) //"ABU" user1.age = 26; console.log(user1.age) //undefined
В приведенном выше примере мы видим, что значение объекта user1 существующего ключа можно изменять, но мы не можем удалять или вставлять новые свойства в этот объект.
Запечатан объект или нет: Object.isSealed ()
Метод Object.isSealed()
определяет, запечатан ли объект.
const user1 = { mobile: 1993, name: "Talha" } console.log(Object.isSealed(user1)) //false Object.seal(user1); console.log(Object.isSealed(user1)) // ture
Локализация: Object. toLocaleString ()
Метод возвращает строку, представляющую объект. Этот метод предназначен для переопределения производными объектами для целей, специфичных для локали.
const date1 = new Date(Date.UTC(2018, 11, 20, 3, 0, 0)); console.log(date1.toLocaleString('bn')) //"৫/১২/২০১৮ ৯:০০:০০ AM"
Ссылки: