Objek Standard JavaScript: Kaedah menetapkan, nilai, hasOwnProperty, dan getOwnPropertyNames

Dalam JavaScript, Objectjenis data digunakan untuk menyimpan pasangan nilai kunci, dan seperti Arrayjenis data, mengandungi banyak kaedah yang berguna. Ini adalah beberapa kaedah berguna yang akan anda gunakan semasa bekerja dengan objek.

Kaedah Menetapkan Objek

The Object.assign()kaedah yang digunakan untuk

  1. tambah sifat dan nilai ke objek yang ada
  2. buat salinan baru objek yang ada, atau
  3. menggabungkan pelbagai objek yang ada menjadi satu objek.

The Object.assign()Cara memerlukan satu targetObjectsebagai parameter dan boleh menerima jumlah yang tidak terhad sourceObjectssebagai parameter tambahan.

Penting untuk diperhatikan di sini adalah bahawa targetObjectparameter akan selalu diubah. Sekiranya parameter itu menunjuk ke objek yang ada, maka objek itu akan diubah dan disalin.

Jika, anda ingin membuat salinan objek tanpa mengubah objek asalnya, anda dapat meneruskan objek kosong {}sebagai targetObjectparameter pertama ( ) dan objek yang akan disalin sebagai sourceObjectparameter kedua ( ).

Sekiranya objek dilewatkan sebagai parameter untuk Object.assign()berkongsi sifat yang sama (atau kunci), nilai harta yang datang kemudian dalam senarai parameter akan menimpa yang sebelumnya.

Sintaks

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

Nilai Pulangan

Object.assign()mengembalikan targetObject.

Contoh

Mengubah dan menyalin 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 }

Menyalin targetObjecttanpa pengubahsuaian:

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 }

Objek dengan sifat yang sama :

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 }

Kaedah Nilai Objek

The Object.values()Cara mengambil objek sebagai parameter dan mengembalikan pelbagai nilai-nilainya. Ini menjadikan ia berguna untuk chaining dengan bersama-sama Arraykaedah seperti .map(), .forEach(), dan .reduce().

Sintaks

Object.values(targetObject);

Nilai pulangan

Susunan nilai objek yang dilalui ( targetObject).

Contoh

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

Sekiranya objek yang anda lalui mempunyai nombor sebagai kunci, maka Object.value()akan mengembalikan nilai mengikut urutan angka kekunci:

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

Sekiranya sesuatu selain objek diserahkan Object.values(), ia akan dipaksa menjadi objek sebelum dikembalikan sebagai array:

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

Objek mempunyai Kaedah OwnProperty

The Object.hasOwnProperty()kaedah pulangan boolean yang menunjukkan jika objek yang memiliki harta yang ditetapkan.

Ini adalah kaedah yang mudah untuk memeriksa sama ada objek mempunyai harta yang ditentukan atau tidak kerana ia mengembalikan benar / salah.

Sintaks

Object.hasOwnProperty(prop)

Nilai pulangan

true // or false

Contoh

Menggunakan Object.hasOwnProperty()untuk menguji sama ada harta ada atau tidak dalam objek tertentu:

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

Kaedah getOwnPropertyNames Kaedah

The Object.getOwnPropertyNames()Cara mengambil objek sebagai parameter dan pulangan dan lokasi semua sifat-sifatnya.

Sintaks

Object.getOwnPropertyNames(obj)

Nilai pulangan

Susunan rentetan sifat objek yang dilalui.

Contoh

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

Sekiranya sesuatu selain objek diserahkan Object.getOwnPropertyNames(), ia akan dipaksa menjadi objek sebelum dikembalikan sebagai array:

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

Janji.prototaip.then

A Promise.prototype.thenfungsi menerima dua hujah dan mengembalikan Janji.

Argumen pertama adalah fungsi yang diperlukan yang menerima satu argumen. Pemenuhan Janji yang berjaya akan mencetuskan fungsi ini.

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