Объекты JavaScript.

Объект является фундаментальным типом данных в языке JavaScript. Объекты (они же – ассоциативные массивы, хэши) и работа с ними в Javascript – реализованы не так, как в большинстве языков.

Объект представляет собой обычный ассоциативный массив или, по другому, “хэш”. Он хранит любые соответствия “ключ => значение” и имеет несколько стандартных методов. Он может хранить в себе числа, строки, булев тип данных, функции и другие объекты.

Метод объекта в javascript – это просто функция, которая добавлена в ассоциативный массив.

Создание объекта:

// эквивалентные записи
var o = new Object()
var o = {}

Добавление свойств:

// эквивалентные записи
o.test = 10 // добавление через точку
o["test"] = 10 // добавление через квадратные скобки

Доступ к свойствам:

Доступ к свойству осуществляется такими же способами, как и добавление свойств.

alert(o.test)
alert(o['test'])

Удаление свойств:

Удаляют свойства с помощью оператора delete.

o.test = 5
delete o.test
o['bla'] = true

Прототипы

Каждый объект в языке JavaScript имеет второй объект, ассоциированный с ним. Этот второй объект называется прототипом, и первый объект наследует от прототипа его свойства.

Все объекты, созданные с помощью литералов объектов, имеют один и тот же объект-прототип, на который в программе JavaScript можно сослаться так: Object.prototype.

Object.prototype – один из немногих объектов, которые не имеют прототипа: у него нет унаследованных свойств. Другие объекты-прототипы являются самыми обычными объектами, имеющими собственные прототипы. Все встроенные конструкторы наследуют прототип Object.prototype.

Атрибут prototype

Атрибут prototype объекта определяет объект, от которого наследуются свойства. Он устанавливается в момент создания объекта. Для объектов, созданных с помощью литералов, прототипом является Object.prototype. Прототипом объекта, созданного с помощью оператора new, является значение свойства prototype конструктора. А прототипом объекта, созданного с помощью Object.create(), становится первый аргумент этой функции (который может иметь значение null).

Атрибут class

Атрибут class – это строка, содержащая информацию о типе объекта. Чтобы определить класс объекта, можно вызвать метод toString() этого объекта и извлечь из результата подстроку с восьмого по предпоследний символ.

Атрибут extensible

Атрибут extensible определяет, допускается ли добавлять в объект новые свойства. Назначение атрибута extensible заключается в том, чтобы дать возможность «фиксировать» объекты в определенном состоянии, запретив внесение изменений.

Сериализация объектов

Сериализация объектов – это процесс преобразования объектов в строковую форму представления, которая позднее может использоваться для их восстановления.

 
Поделиться в facebook
Facebook
Поделиться в twitter
Twitter
Поделиться в vk
VK
Поделиться в google
Google+
Поделиться в email
Email

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Группа в VK

Помощь проекту

Обнаружили опечатку?

Сообщите нам об этом, выделите текст с ошибкой и нажмите Ctrl+Enter, будем очень признательны!

Свежие статьи

Похожие статьи

Фреймворк Vue.js

Фреймворк Vue.js

Vue (произносится как view – вью) – это прогрессивный фреймворк для создания пользовательских интерфейсов. Vue позволяет строить приложения с применением архитектурного паттерна MVVM (Model-View-ViewModel). Особенность

 
Фреймворки и библиотеки в JavaScript

Фреймворки и библиотеки в JavaScript

JavaScript — это мультипарадигмальный язык программирования, который поддерживает типы программирования, управляемые событиями, функциональные и обязательные (в том числе объектно-ориентированные и основанные на прототипах). Фреймворки JavaScript

 
Знакомство с Ajax.

Знакомство с Ajax.

AJAX расшифровывается как «Асинхронный JavaScript и XML». Под AJAX понимается не одна технология, и она не является новой. На самом деле это группа технологий (HTML,

 
Знакомство с jQuery

Знакомство с jQuery

jQuery — это библиотека JavaScript, в основу которой положено взаимодействие JavaScript и HTML. Она позволяет легко получить доступ к любому элементу DOM, с ее помощью

 

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: