JavaScript-Standardobjekte: Zuweisen, Werte, hasOwnProperty- und getOwnPropertyNames-Methoden erklärt

In JavaScript wird der ObjectDatentyp zum Speichern von Schlüsselwertpaaren verwendet und enthält wie der ArrayDatentyp 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

  1. Fügen Sie einem vorhandenen Objekt Eigenschaften und Werte hinzu
  2. eine neue Kopie eines vorhandenen Objekts erstellen oder
  3. Kombinieren Sie mehrere vorhandene Objekte zu einem einzigen Objekt.

Die Object.assign()Methode erfordert einen targetObjectals Parameter und kann eine unbegrenzte Anzahl von sourceObjectszusätzlichen Parametern akzeptieren .

Hierbei ist zu beachten, dass der targetObjectParameter 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 targetObjectohne Ä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 ArrayMethoden 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.thenFunktion 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