In JavaScript wird der Object
Datentyp zum Speichern von Schlüsselwertpaaren verwendet und enthält wie der Array
Datentyp viele nützliche Methoden. Dies sind einige nützliche Methoden, die Sie beim Arbeiten mit Objekten verwenden.
Objektzuweisungsmethode
Die Object.assign()
Methode ist es gewohnt
- Fügen Sie einem vorhandenen Objekt Eigenschaften und Werte hinzu
- eine neue Kopie eines vorhandenen Objekts erstellen oder
- Kombinieren Sie mehrere vorhandene Objekte zu einem einzigen Objekt.
Die Object.assign()
Methode erfordert einen targetObject
als Parameter und kann eine unbegrenzte Anzahl von sourceObjects
zusätzlichen Parametern akzeptieren .
Hierbei ist zu beachten, dass der targetObject
Parameter immer geändert wird. Wenn dieser Parameter auf ein vorhandenes Objekt verweist, wird dieses Objekt sowohl geändert als auch kopiert.
Wenn Sie eine Kopie eines Objekts erstellen möchten, ohne das ursprüngliche Objekt zu ändern, können Sie ein leeres Objekt {}
als ersten ( targetObject
) Parameter und das zu kopierende Objekt als zweiten ( sourceObject
) Parameter übergeben.
Wenn Objekte, die als Parameter Object.assign()
an übergeben werden, dieselben Eigenschaften (oder Schlüssel) haben, überschreiben die später in der Parameterliste enthaltenen Eigenschaftswerte die zuvor angegebenen.
Syntax
Object.assign(targetObject, ...sourceObject);
Rückgabewert
Object.assign()
gibt die zurück targetObject
.
Beispiele
Ändern und Kopieren 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 }
Kopieren targetObject
ohne Änderung:
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 }
Objekte mit den gleichen Eigenschaften :
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 }
Objektwertmethode
Die Object.values()
Methode verwendet ein Objekt als Parameter und gibt ein Array seiner Werte zurück. Dies macht es nützlich für die mit gemeinsamen Verkettungs Array
Methoden wie .map()
, .forEach()
, und .reduce()
.
Syntax
Object.values(targetObject);
Rückgabewert
Ein Array der ( targetObject
) Werte des übergebenen Objekts .
Beispiele
const obj = { firstName: 'Quincy', lastName: 'Larson' } const values = Object.values(obj); console.log(values); // ["Quincy", "Larson"]
Wenn das Objekt, das Sie übergeben, Zahlen als Schlüssel hat, Object.value()
werden die Werte gemäß der numerischen Reihenfolge der Schlüssel zurückgegeben:
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"]
Wenn etwas anderes als ein Objekt übergeben wird Object.values()
, wird es in ein Objekt gezwungen, bevor es als Array zurückgegeben wird:
const str = 'hello'; console.log(Object.values(str)); // ["h", "e", "l", "l", "o"]
Objekt hasOwnProperty-Methode
Die Object.hasOwnProperty()
Methode gibt einen Booleschen Wert zurück, der angibt, ob das Objekt die angegebene Eigenschaft besitzt.
Dies ist eine bequeme Methode, um zu überprüfen, ob ein Objekt die angegebene Eigenschaft hat oder nicht, da es entsprechend true / false zurückgibt.
Syntax
Object.hasOwnProperty(prop)
Rückgabewert
true // or false
Beispiele
Verwenden Sie Object.hasOwnProperty()
diese Option , um zu testen, ob eine Eigenschaft in einem bestimmten Objekt vorhanden ist oder nicht:
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
Objekt getOwnPropertyNames-Methode
Die Object.getOwnPropertyNames()
Methode verwendet ein Objekt als Parameter und gibt ein Array aller seiner Eigenschaften zurück.
Syntax
Object.getOwnPropertyNames(obj)
Rückgabewert
Ein Array von Zeichenfolgen der Eigenschaften des übergebenen Objekts.
Beispiele
const obj = { firstName: 'Quincy', lastName: 'Larson' } console.log(Object.getOwnPropertyNames(obj)); // ["firstName", "lastName"]
Wenn etwas anderes als ein Objekt übergeben wird Object.getOwnPropertyNames()
, wird es in ein Objekt gezwungen, bevor es als Array zurückgegeben wird:
const arr = ['1', '2', '3']; console.log(Object.getOwnPropertyNames(arr)); // ["0", "1", "2", "length"]
Promise.prototype.then
Eine Promise.prototype.then
Funktion akzeptiert zwei Argumente und gibt ein Versprechen zurück.
Das erste Argument ist eine erforderliche Funktion, die ein Argument akzeptiert. Die erfolgreiche Erfüllung eines Versprechens löst diese Funktion aus.
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