Создайте объекты JavaScript
Вы, возможно, увидели термин объект раньше. Объекты аналогичны массивам, за исключением того, что вместо того, чтобы использовать индексы для доступа и изменения своих данных, вы получаете доступ к данным в объектах через то, что называются свойствами.
- Пример:
var myDog = { name: "Anakin", legs: 4, tails: 1, friends: ["Obi-woof", "Ahso-bark"] };
В этом примере мы сделали объект, который представляет собаку, называемую MyDog, которая содержит имя свойств (строку), ноги, хвосты и друзья. Вы можете установить эти свойства объекта любым ценностям, которые вы хотите, для этой проблемы, пока имени — это строка, ноги и хвосты — это цифры, а друзья — это массив.
Доступ к свойствам объекта с точечной обозначением
Существует два способа доступа к свойствам объекта: нотации DOT (.) И нотации кронштейна ([]), аналогично массиву.
- Вот пример использования точечных обозначений (.) Чтобы прочитать свойство объекта:
var testObj = { console: "PS5", game: "God Of War", friends: ["Alan", "Diego"] }; var consoleValue = testObj.console; var gameValue = testObj.games; console.log(consoleValue); // will display PS5 console.log(gameValue); // will display God Of War
Здесь мы устанавливаем переменную Consolevalue, равную консоли свойств объекта, и установить переменную GameValue, равную игру иму недвижимостью объекта, используя точечную обозначение.
Доступ к свойствам объекта с обозначением кронштейна
Второй способ доступа к свойствам объекта — это нотация кронштейна ([]). Если свойство объекта, которую вы пытаетесь получить доступ, имеет место в его названии, вам нужно будет использовать нотацию кронштейна.
Тем не менее, вы все еще можете использовать нотацию кронштейна на объектных свойствах без пробелов.
Вот пример использования нотации кронштейна для чтения свойства объекта:
var testObj = { "my entree": "hamburger", "my side": "fries", "my drink": "water" };
var entreeValue = testObj["my entree"]; var drinkValue = testObj["my drink"]; console.log(entreeValue); // will display hamburger console.log(drinkValue); // will display water
Testobj [«Мой блюд»] Был бы строковый гамбургер, TestoBJ [«Мой напиток»] будет строковой водой. Мы присваиваем их овладению и алкоголям.
- Также обратите внимание, что имена свойств с пробелами в них должны быть в кавычках (одиночных или двойных).
Доступ к свойствам объекта с переменными
Другое использование нотации кронштейна на объектах заключается в доступе к свойству, которое хранится как значение переменной. Это может быть очень полезно для итерации через свойства объекта или при доступе к таблице поиска.
- Пример:
var testObj = { 12: "Namath", 16: "Montana", 19: "Unitas" };
var playerNumber = 16; var player = (testObj[playerNumber]); console.log(player); will display Montana
Здесь мы устанавливаем переменную плейнера до 16. Затем используйте переменную, чтобы посмотреть имя игрока и назначить его игроку.
Обновление объектов Свойства
После создания объекта JavaScript вы можете обновить свои свойства в любое время так же, как вы обновите любую другую переменную. Вы можете использовать точку, либо нотаку кронштейна для обновления.
- Пример:
var myDog = { name: "Anakin", legs: 4, tails: 1, friends: ["Obi-woof", "Ahso-bark"] }; myDog.name = "Anakin Skywalker"; console.log(myDog.name); // will display Anakin Skywalker
Здесь мы можем изменить свое имя в строку Анакин Скайуокер. Вот как мы обновляем имя своего объекта свойство:
myDog.name = "Anakin Skywalker";
или
myDog["name"] = "Anakin Skywalker";
Теперь, когда мы оцениваем mydog.name, вместо того, чтобы получить анакин, мы получим свое новое имя, Анакин Скайуокер.
Добавьте новые свойства на объект JavaScript
Вы можете добавлять новые свойства на существующие объекты JavaScript так же, как вы их изменяете.
- Вот как мы бы добавили свой свой свойство MyDog:
var myDog = { name: "Anakin", legs: 4, tails: 1, friends: ["Obi-woof", "Ahso-bark"] }; myDog.bark = "woof"; console.log(myDog.bark); will display woof
Удалить свойства от объекта JavaScript
- Мы также можем удалить свойства от таких объектов:
delete myDog.tails;
var myDog = { name: "Anakin", legs: 4, tails: 1, friends: ["Obi-woof", "Ahso-bark"] }; delete myDog.tails;
После того, как код работает, он будет выглядеть так.
{ name: "Anakin", legs: 4, friends: ["Obi-woof", "Ahso-bark"] }
Использование объектов для поиска
Объекты можно рассматривать как клавиша/значение хранения, как словарь. Если у вас есть табличные данные, вы можете использовать объект для поиска значений, а не оператор коммутатора или цепочку IF/ELSE.
- Здесь мы преобразуем оператор выключателя в объект, называемый поиском. Затем мы используем его, чтобы посмотреть VAL и назначить связанную строку к переменной результата.
function phoneticLookup(val) { var result = ""; // Only change code below this line switch(val) { case "alpha": result = "Adams"; break; case "bravo": result = "Boston"; break; case "charlie": result = "Chicago"; break; case "delta": result = "Denver"; break; case "echo": result = "Easy"; break; case "foxtrot": result = "Frank"; } // Only change code above this line return result; } phoneticLookup("charlie");
- Затем после преобразования его в объект под названием поиск.
function phoneticLookup(val) { var result = ""; // Only change code below this line var lookup = { "alpha": "Adams", "bravo": "Boston", "charlie": "Chicago", "delta": "Denver", "echo": "Easy", "foxtrot": "Frank" }; // Only change code above this line result = lookup[val]; return result; } console.log(phoneticLookup("charlie")); // will display Chicago
Тестирование объектов для PerveryPassed
Иногда полезно проверить, существует ли свойство данного объекта или нет. Мы можем использовать
.hasOwnProperty(propname)
Способ объектов, чтобы определить, имеет ли этот объект имени имени свойства.hasownProperty () возвращает true или false, если свойство найдено или нет.
- Давайте модифицируем функцию CheckoBJ для проверки, если объект передан функции (OBJ), содержит определенное свойство (CheckProp). Если свойство найдено, давайте вернемся на значение этого свойства. Если нет, вернуть «не найден».
function checkObj(obj, checkProp) { if (obj.hasOwnProperty(checkProp)) { return obj[checkProp]; } else { return "Not Found"; } }
checkObj({gift: "pony", pet: "kitten", bed: "sleigh"}, "pet") should return the string kitten. checkObj({gift: "pony", pet: "kitten", bed: "sleigh"}, "house") should return the string Not Found.
Доступ к вложенным объектам
Суб-свойства объектов могут быть доступен, связаны с цепочкой нотакой точек или кронштейна.
- Вот вложенный объект:
var myStorage = { "car": { "inside": { "glove box": "maps", "passenger seat": "crumbs" }, "outside": { "trunk": "jack" } } }; var gloveBoxContents = myStorage.car.inside["glove box"]; console.log(gloveBoxContents); // will display maps
Здесь мы обращались к объекту MyStorage и назначаем содержимое свойства Black Box в переменную GloveboxContents, используя точечную обозначение для всех свойств, где это возможно, используйте нотацию кронштейна.
Оригинал: «https://dev.to/rthefounding/javascript-objects-33fm»