JavaScript-standardobjekter: tildel, værdier, hasOwnProperty og getOwnPropertyNames Metoder forklaret

I JavaScript Objectbruges datatypen til at gemme nøgleværdipar og indeholder ligesom Arraydatatypen mange nyttige metoder. Dette er nogle nyttige metoder, du vil bruge, når du arbejder med objekter.

Object Assign Method

Den Object.assign()metode, der anvendes til

  1. tilføje egenskaber og værdier til et eksisterende objekt
  2. lave en ny kopi af et eksisterende objekt, eller
  3. kombinere flere eksisterende objekter i et enkelt objekt.

Den Object.assign()fremgangsmåde kræver en targetObjectsom parameter og kan acceptere et ubegrænset antal sourceObjectssom yderligere parametre.

Det er vigtigt at bemærke her, at targetObjectparameteren altid vil blive ændret. Hvis denne parameter peger på et eksisterende objekt, bliver objektet både ændret og kopieret.

Hvis du ønsker at oprette en kopi af et objekt uden at ændre det originale objekt, kan du sende et tomt objekt {}som den første ( targetObject) parameter og det objekt, der skal kopieres, som den anden ( sourceObject) parameter.

Hvis objekter, der sendes som parametre, Object.assign()deler de samme egenskaber (eller nøgler), overskrives egenskabsværdier, der kommer senere i parameterlisten, dem, der kom tidligere.

Syntaks

Object.assign(targetObject, ...sourceObject);

Returneringsværdi

Object.assign()returnerer targetObject.

Eksempler

Ændring og kopiering 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 }

Kopiering targetObjectuden ændringer:

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 }

Objekter med de samme egenskaber :

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 }

Objektværdimetode

Den Object.values()metode tager et objekt som en parameter og returnerer et array af sine værdier. Dette gør det nyttigt til at kæde med almindelige Arraymetoder som .map(), .forEach()og .reduce().

Syntaks

Object.values(targetObject);

Returneringsværdi

En matrix af det passerede objekts ( targetObject) værdier.

Eksempler

const obj = { firstName: 'Quincy', lastName: 'Larson' } const values = Object.values(obj); console.log(values); // ["Quincy", "Larson"]

Hvis objektet, du sender, har tal som taster, Object.value()returnerer værdierne i henhold til nøglenes numeriske rækkefølge:

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"]

Hvis noget andet end et objekt sendes til Object.values(), tvinges det til et objekt, før det returneres som et array:

const str = 'hello'; console.log(Object.values(str)); // ["h", "e", "l", "l", "o"]

Objekt hasOwnProperty metode

De Object.hasOwnProperty()metode returnerer en boolesk angiver, om objektet ejer den angivne egenskab.

This is a convenient method to check if an object has the specified property or not since it returns true/false accordingly.

Syntax

Object.hasOwnProperty(prop)

Return value

true // or false

Examples

Using Object.hasOwnProperty() to test if a property exist or not in a given object:

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

Object getOwnPropertyNames Method

The Object.getOwnPropertyNames() method takes an object as a parameter and returns and array of all its properties.

Syntax

Object.getOwnPropertyNames(obj)

Return value

An array of strings of the passed object's properties.

Examples

const obj = { firstName: 'Quincy', lastName: 'Larson' } console.log(Object.getOwnPropertyNames(obj)); // ["firstName", "lastName"]

If something other than an object is passed to Object.getOwnPropertyNames(), it will be coerced into an object before being returned as an array:

const arr = ['1', '2', '3']; console.log(Object.getOwnPropertyNames(arr)); // ["0", "1", "2", "length"]

Promise.prototype.then

A Promise.prototype.then function accepts two arguments and returns a Promise.

The first argument is a required function that accepts one argument. Successful fulfillment of a Promise will trigger this function.

Det andet argument er en valgfri funktion, der også accepterer et eget argument. En kastet fejl eller afvisning af et løfte vil udløse denne funktion.

 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.thengiver dig mulighed for at udføre mange asynkrone aktiviteter i rækkefølge. Du gør dette ved at vedhæfte en thenfunktion til en anden adskilt af en prikoperator.

 promiseReturningFunction(paramList) .then( // first then function function(arg1) { // ... return someValue; } ) ... .then( // nth then function function(arg2) { // ... return otherValue; } )

Map.prototype.entries

Returnerer et nyt Iteratorobjekt, der indeholder [key, value]parene for hvert element i Mapobjektet i indsætningsrækkefølge.

Syntaks

myMap.entries()

Eksempel

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]

Mere info om objekter i JavaScript:

  • Sådan oprettes objekter i JavaScript
  • Sådan løber du igennem objekter i JavaScript

Mere info om booleanere:

  • Booleanske i JavaScript