Dalam JavaScript, Object
jenis data digunakan untuk menyimpan pasangan nilai kunci, dan seperti Array
jenis 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
- tambah sifat dan nilai ke objek yang ada
- buat salinan baru objek yang ada, atau
- menggabungkan pelbagai objek yang ada menjadi satu objek.
The Object.assign()
Cara memerlukan satu targetObject
sebagai parameter dan boleh menerima jumlah yang tidak terhad sourceObjects
sebagai parameter tambahan.
Penting untuk diperhatikan di sini adalah bahawa targetObject
parameter 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 targetObject
parameter pertama ( ) dan objek yang akan disalin sebagai sourceObject
parameter 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 targetObject
tanpa 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 Array
kaedah 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.then
fungsi 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