JS-1 Flashcards
Объект
неупорядоченная коллекция свойств, где каждое свойство состоит из имени (ключа) и ассоциированного с ним значения. Объекты в JavaScript можно называть ассоциативными массивами, так как они состоят из пары ключ-значение. Они предназначены для хранения сложных структур данных.
Объект - тип данных?
сложный (непримитивный)
Как задать объект?
const user = {
name: 'Andrei', surname: 'Ivanov', age: 18, position: 'developer',
};
Объектный литерал
{ } — первичное выражение, которое может содержать ноль или несколько пар свойств, которые состоят из комбинации ключ-значение.
Задать объектный литерал с двумя парами ключ-значение
const obj2 = {
a: 'hello', b: 123,
};
Задать пустой объектный литерал
const obj = new Object();
Метод
свойство, которое может быть вызвано
Точечная нотация
object.IdentifierName
const obj = { myProp: 100, 1: 200, }; const key = 'myProp';
obj.myProp; // 100
Скобочная нотация
object[Expression]
const obj = { myProp: 100, 1: 200, }; const key = 'myProp';
obj[‘myProp’]; // 100
obj[1]; // 200
obj[key]; // 100
Вычисляемое свойство
Скобочная нотация также позволяет обратиться к свойству, имя которого хранится в переменной. Это называется вычисляемым свойством. const lang = prompt("Введите название языка программирования", "javascript");
const collection = {
};
console.log( collectionlang ); // Лучший язык программирования!, если lang=”javascript”
Объекты в JS статические или динамические?
Динамические
позволяют добавлять и удалять свойства в любое время.
Удаление свойства из объекта
унарный оператор delete:
const obj1 = {a: 1}; delete obj.a; console.log(obj) // {}
Как сравниваются объекты?
Объекты копируются и сравниваются по ссылке const obj1 = {a: 1};
const obj2 = obj1;
obj1 === obj2; // true
obj1.b = 2;
obj1 === obj2; // true
Как проверить наличие свойства?
Оператор in — возвращает true, если свойство содержится в указанном объекте. EXPRESSION in OBJECT const obj = {a: 1, c: undefined};
“a” in obj; // true
“b” in obj; // false
“c” in obj; // true
Как итерировать объект?
Инструкция for…in — проходит по перечисляемым свойствам объекта.
for ( variableStatement in object )
variableStatement — объявляем переменную, в которую последовательно будут записаны все имена (ключи) свойств итерируемого объекта object.