- определение и синтаксис
- JSON
- разрушение и распространение
определение и синтаксис
В JavaScript объект — это набор свойств, где каждое свойство представляет собой пару ключ-значение. Свойства могут быть переменными, функциями или даже другими объектами. Мы можем получить доступ к свойствам, используя запись через точку или скобки.
const cat = { "name": "Whiskers", "legs": 4, "tails": 1, "enemies": ["Water", "Dogs"] }; console.log(cat.name); // Output: whiskers console.log(cat['legs']); // Output: 4 console.log(cat.enemies[1]); // Output: Dogs // to add new property // objname.propname = "value" cat.color = "gray"; // change value of some prop cat.name = "midnight"; // to delete prop // delete objname.propname; delete cat.tails; //now our object looks like this /* const cat = { "name": "midnight", "legs": 4, "color": "gray", "enemies": ["Water", "Dogs"] }; */
JSON
JSON, сокращение от JavaScript Object Notation, — это простой и легкий способ хранения и обмена данными. Он разработан таким образом, чтобы людям и компьютерам было легко читать и писать. Многие языки программирования, такие как C++, Java, JavaScript, Perl и Python, используют аналогичные соглашения для работы с JSON.
Люди часто используют JSON для обмена данными между сервером и веб-приложением, потому что это эффективно и не занимает слишком много места. Данные JSON состоят из двух основных частей: литералы объектов и массивы. Литералы объектов похожи на контейнеры, которые содержат пары ключей и значений, а массивы похожи на списки значений. Оба они разделяются запятыми и заключаются в фигурные скобки {} или квадратные скобки [].
{ "title": "The Great Gatsby", "author": { "firstName": "F. Scott", "lastName": "Fitzgerald" }, "publishedYear": 1925, "isAvailable": true, "characters": [ {"name": "Jay Gatsby", "age": 32, "occupation": "bootlegger"}, {"name": "Daisy Buchanan", "age": 23, "occupation": "socialite"}, {"name": "Tom Buchanan", "age": 30, "occupation": "businessman"} ] }
В этом примере у нас есть объект, представляющий книгу «Великий Гэтсби». У него есть такие свойства, как «название», «автор», «год публикации», «доступно» и «символы». Свойство «автор» само по себе является объектом со свойствами «имя» и «фамилия». Свойство «персонажи» представляет собой массив объектов, каждый из которых представляет персонажа книги.
В прошлом некоторые авторитетные веб-сайты, такие как Google, добавляли символы, такие как «&&&START&&&», к своим частным ответам JSON, чтобы предотвратить перехват JSON (современные браузеры решили эту проблему по своей сути).
разрушение и распространение
В JavaScript есть несколько операторов, которые можно использовать с объектами, мы уже говорили об операторе dor (.) и операторе квадратных скобок ([]), так что теперь давайте рассмотрим операторы деструктурирования и расширения.
например:
const person = { firstName: 'John', lastName: 'Doe', age: 30, city: 'New York' };
Вы можете использовать деструктурирование для извлечения отдельных значений из этого объекта следующим образом:
const { firstName, lastName, age, city } = person;
Это создает четыре переменные (firstName
, lastName
, age
и city
) и присваивает им соответствующие значения из объекта person
. Теперь вы можете использовать эти переменные непосредственно в своем коде, не обращаясь каждый раз к объекту.
Вы также можете использовать деструктурирование с массивами. Например, рассмотрим следующий массив:
const numbers = [1, 2, 3, 4, 5];
Вы можете использовать деструктурирование для извлечения отдельных значений из этого массива следующим образом:
const [first, second, ...rest] = numbers;
Это создает три переменные (first
, second
и rest
) и присваивает им соответствующие значения из массива numbers
. Синтаксис ...rest
используется для захвата оставшихся значений в массиве и присвоения их переменной rest
.
Деструктуризация — это мощная функция JavaScript, которая может сделать ваш код более кратким и читабельным. Он широко используется в современных JavaScript-фреймворках и библиотеках.
оператор расширения
Оператор расширения, представленный тремя последовательными точками ...
, позволяет расширять итерируемый объект (например, массив или строку) в том месте, где ожидается ноль или более аргументов или элементов.
давайте посмотрим на несколько примеров того, как можно использовать оператор распространения:
//To combine two or more arrays: const arr1 = [1, 2, 3]; const arr2 = [4, 5, 6]; const arr3 = [...arr1, ...arr2]; // [1, 2, 3, 4, 5, 6]; //To make a copy of an array: const originalArray = [1, 2, 3]; const newArray = [...originalArray]; // [1, 2, 3] //To pass an array as arguments to a function: function myFunction(a, b, c) { return a + b + c; } const myArray = [1, 2, 3]; const result = myFunction(...myArray); // 6
вы также можете использовать оператор распространения с объектами в JavaScript. Оператор распространения можно использовать для создания нового объекта путем объединения свойств одного или нескольких объектов. Вот пример:
const obj1 = { x: 1, y: 2 }; const obj2 = { z: 3 }; const newObj = { ...obj1, ...obj2 }; console.log(newObj); // { x: 1, y: 2, z: 3 }
Пока это все, но есть много важных вещей, связанных с объектами, которые вам нужно знать. Мы поговорим об этих темах в следующей главе, в которой будут рассмотрены более сложные аспекты объектов.