U JavaScriptu se Object
vrsta podataka koristi za spremanje parova vrijednosti ključeva, a poput Array
vrste podataka sadrži mnoge korisne metode. Ovo su neke korisne metode koje ćete koristiti tijekom rada s objektima.
Metoda dodjele predmeta
Object.assign()
Metoda se koristi za
- dodati svojstva i vrijednosti postojećem objektu
- napraviti novu kopiju postojećeg objekta ili
- kombinirati više postojećih objekata u jedan objekt.
Object.assign()
Metoda zahtijeva jedan targetObject
kao parametar, a može prihvatiti neograničen broj sourceObjects
kao dodatnih parametara.
Ovdje je važno napomenuti da će targetObject
parametar uvijek biti modificiran. Ako taj parametar upućuje na postojeći objekt, tada će se taj objekt i izmijeniti i kopirati.
Ako želite stvoriti kopiju objekta bez izmjene tog izvornog objekta, možete proslijediti prazan objekt {}
kao prvi ( targetObject
) parametar, a objekt koji želite kopirati kao drugi ( sourceObject
) parametar.
Ako objekti prosljeđeni kao parametri Object.assign()
dijele ista svojstva (ili ključeve), vrijednosti svojstava koje dolaze kasnije na popisu parametara prepisat će one koje su došle ranije.
Sintaksa
Object.assign(targetObject, ...sourceObject);
Povratna vrijednost
Object.assign()
vraća targetObject
.
Primjeri
Izmjena i kopiranje targetObject
:
let obj = {name: 'Dave', age: 30}; let objCopy = Object.assign(obj, {coder: true}); console.log(obj); // { name: 'Dave', age: 30, coder: true } console.log(objCopy); // { name: 'Dave', age: 30, coder: true }
Kopiranje targetObject
bez izmjena:
let obj = {name: 'Dave', age: 30}; let objCopy = Object.assign({}, obj, {coder: true}); console.log(obj); // { name: 'Dave', age: 30 } console.log(objCopy); // { name: 'Dave', age: 30, coder: true }
Objekti s istim svojstvima :
let obj = {name: 'Dave', age: 30, favoriteColor: 'blue'}; let objCopy = Object.assign({}, obj, {coder: true, favoriteColor: 'red'}); console.log(obj); // { name: 'Dave', age: 30, favoriteColor: 'blue' } console.log(objCopy); // { name: 'Dave', age: 30, favoriteColor: 'red', coder: true }
Metoda vrijednosti predmeta
Object.values()
Metoda uzima predmet kao parametar i vraća niz njezinih vrijednosti. To ga čini korisnim za povezivanje sa zajedničkim Array
metodama kao što su .map()
, .forEach()
i .reduce()
.
Sintaksa
Object.values(targetObject);
Povratna vrijednost
Niz targetObject
vrijednosti ( ) prosljeđenog objekta .
Primjeri
const obj = { firstName: 'Quincy', lastName: 'Larson' } const values = Object.values(obj); console.log(values); // ["Quincy", "Larson"]
Ako objekt koji prosljeđujete ima brojeve kao ključeve, tada Object.value()
će vratiti vrijednosti prema numeričkom redoslijedu ključeva:
const obj1 = { 0: 'first', 1: 'second', 2: 'third' }; const obj2 = { 100: 'apple', 12: 'banana', 29: 'pear' }; console.log(Object.values(obj1)); // ["first", "second", "third"] console.log(Object.values(obj2)); // ["banana", "pear", "apple"]
Ako se proslijedi nešto drugo osim objekta Object.values()
, ono će biti prisiljeno u objekt prije nego što se vrati kao niz:
const str = 'hello'; console.log(Object.values(str)); // ["h", "e", "l", "l", "o"]
Objekt hasOwnProperty Method
The Object.hasOwnProperty()
metoda vraća Boolleov pokazuje ako je objekt posjeduje određenu imovinu.
Ovo je prikladna metoda za provjeru ima li objekt navedeno svojstvo ili ne, jer u skladu s tim vraća true / false.
Sintaksa
Object.hasOwnProperty(prop)
Povratna vrijednost
true // or false
Primjeri
Pomoću Object.hasOwnProperty()
testiranja postoji li svojstvo u danom objektu ili ne:
const course = { name: 'freeCodeCamp', feature: 'is awesome', } const student = { name: 'enthusiastic student', } course.hasOwnProperty('name'); // returns true course.hasOwnProperty('feature'); // returns true student.hasOwnProperty('name'); // returns true student.hasOwnProperty('feature'); // returns false
Metoda objekta getOwnPropertyNames
Object.getOwnPropertyNames()
Metoda uzima jedan objekt kao parametar i vraća te niz svih njegovih svojstava.
Sintaksa
Object.getOwnPropertyNames(obj)
Povratna vrijednost
Niz nizova svojstava prosljeđenog objekta.
Primjeri
const obj = { firstName: 'Quincy', lastName: 'Larson' } console.log(Object.getOwnPropertyNames(obj)); // ["firstName", "lastName"]
Ako se proslijedi nešto drugo osim objekta Object.getOwnPropertyNames()
, ono će biti prisiljeno u objekt prije nego što se vrati kao niz:
const arr = ['1', '2', '3']; console.log(Object.getOwnPropertyNames(arr)); // ["0", "1", "2", "length"]
Obećaj.prototip.onda
Promise.prototype.then
Funkcija prihvaća dva argumenta i vraća obećanje.
Prvi argument je obavezna funkcija koja prihvaća jedan argument. Uspješno ispunjenje obećanja pokrenut će ovu funkciju.
The second argument is an optional function that also accepts one argument of its own. A thrown Error or Rejection of a Promise will trigger this function.
function onResolved (resolvedValue) { /* * access to resolved values of promise */ } function onRejected(rejectedReason) { /* * access to rejection reasons of promise */ } promiseReturningFunction(paramList) .then( // then function onResolved, [onRejected] );
Promise.prototype.then
allows you to perform many asynchronous activities in sequence. You do this by attaching one then
function to another separated by a dot operator.
promiseReturningFunction(paramList) .then( // first then function function(arg1) { // ... return someValue; } ) ... .then( // nth then function function(arg2) { // ... return otherValue; } )
Map.prototype.entries
Returns a new Iterator
object that contains the [key, value]
pairs for each element in the Map
object in insertion order.
Syntax
myMap.entries()
Example
const myMap = new Map(); myMap.set('foo',1); myMap.set('bar',2); myMap.set('baz',3); var iterator = myMap.entries(); console.log(iterator.next().value); // ['foo', 1] console.log(iterator.next().value); // ['bar', 2] console.log(iterator.next().value); // ['baz', 3]
More info on objects in JavaScript:
- How to create objects in JavaScript
- How to loop through objects in JavaScript
More info about booleans:
- Booleans in JavaScript