Javascript mendapatkan beberapa properti objek

Ringkasan. dalam tutorial ini, Anda akan belajar tentang properti dan atribut objek JavaScript seperti configurable, enumerable, writable, get, set, dan value

Jenis Properti Obyek

JavaScript menentukan karakteristik properti objek melalui atribut internal yang dikelilingi oleh dua pasang tanda kurung siku, mis. g. ,

let person = {}; person.age = 25;

Code language: JavaScript (javascript)
8

Objek memiliki dua jenis properti. data dan properti pengakses

1) Properti data

Properti data berisi satu lokasi untuk nilai data. Properti data memiliki empat atribut

  • let person = {}; person.age = 25;

    Code language: JavaScript (javascript)
    _9 – menentukan apakah properti dapat didefinisikan ulang atau dihapus melalui operator

    delete person.age; console.log(person.age);

    Code language: CSS (css)
    0
  • let person = {}; person.age = 25;

    Code language: JavaScript (javascript)
    8 – menunjukkan jika properti dapat dikembalikan dalam

    delete person.age; console.log(person.age);

    Code language: CSS (css)
    2 loop
  • delete person.age; console.log(person.age);

    Code language: CSS (css)
    3 – menentukan bahwa nilai properti dapat diubah
  • delete person.age; console.log(person.age);

    Code language: CSS (css)
    4 – berisi nilai sebenarnya dari properti

Secara default,

delete person.age; console.log(person.age);

Code language: CSS (css)
_5 ,

let person = {}; person.age = 25;

Code language: JavaScript (javascript)
8Dan

delete person.age; console.log(person.age);

Code language: CSS (css)
3 atribut disetel ke

delete person.age; console.log(person.age);

Code language: CSS (css)
8 untuk semua properti yang didefinisikan langsung pada objek. Nilai default atribut

delete person.age; console.log(person.age);

Code language: CSS (css)
_4 adalah

undefined

Code language: JavaScript (javascript)
0

Contoh berikut membuat objek

undefined

Code language: JavaScript (javascript)
_1 dengan dua properti

undefined

Code language: JavaScript (javascript)
2 dan

undefined

Code language: JavaScript (javascript)
3 dengan atribut yang dapat dikonfigurasi, enumerable, dan dapat ditulis diatur ke

delete person.age; console.log(person.age);

Code language: CSS (css)
8. Dan nilainya masing-masing ditetapkan ke

undefined

Code language: JavaScript (javascript)
5 dan

undefined

Code language: JavaScript (javascript)
6

let person = { firstName: 'John', lastName: 'Doe' };

Code language: JavaScript (javascript)

Untuk mengubah atribut properti apa pun, Anda menggunakan metode

undefined

Code language: JavaScript (javascript)
7

Metode

undefined

Code language: JavaScript (javascript)
_7 menerima tiga argumen

  • Sebuah Objek
  • Nama properti dari objek
  • Objek deskriptor properti yang memiliki empat properti.

    undefined

    Code language: JavaScript (javascript)
    9,

    'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); delete person.ssn;

    Code language: JavaScript (javascript)
    0,

    'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); delete person.ssn;

    Code language: JavaScript (javascript)
    1, dan

    'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); delete person.ssn;

    Code language: JavaScript (javascript)
    2

Jika Anda menggunakan metode

undefined

Code language: JavaScript (javascript)
7 untuk menentukan properti objek, nilai default

delete person.age; console.log(person.age);

Code language: CSS (css)
5,

let person = {}; person.age = 25;

Code language: JavaScript (javascript)
8, dan

delete person.age; console.log(person.age);

Code language: CSS (css)
3 diatur ke

'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); delete person.ssn;

Code language: JavaScript (javascript)
7 kecuali ditentukan lain

Contoh berikut membuat objek

undefined

Code language: JavaScript (javascript)
_1 dengan properti

'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); delete person.ssn;

Code language: JavaScript (javascript)
9

let person = {}; person.age = 25;

Code language: JavaScript (javascript)

Karena nilai default atribut

delete person.age; console.log(person.age);

Code language: CSS (css)
_5 disetel ke

delete person.age; console.log(person.age);

Code language: CSS (css)
8, Anda dapat menghapusnya melalui operator

delete person.age; console.log(person.age);

Code language: CSS (css)
0

delete person.age; console.log(person.age);

Code language: CSS (css)

Keluaran

undefined

Code language: JavaScript (javascript)

Contoh berikut membuat objek

undefined

Code language: JavaScript (javascript)
_1 dan menambahkan properti

TypeError: Cannot delete property 'ssn' of #<Object>

Code language: PHP (php)
4 ke dalamnya menggunakan metode

undefined

Code language: JavaScript (javascript)
7

'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); delete person.ssn;

Code language: JavaScript (javascript)

Keluaran

TypeError: Cannot delete property 'ssn' of #<Object>

Code language: PHP (php)

Dalam contoh ini, atribut

undefined

Code language: JavaScript (javascript)
_9 disetel ke

'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); delete person.ssn;

Code language: JavaScript (javascript)
7. oleh karena itu, menghapus properti

TypeError: Cannot delete property 'ssn' of #<Object>

Code language: PHP (php)
_4 menyebabkan kesalahan

Selain itu, setelah Anda menetapkan properti sebagai tidak dapat dikonfigurasi, Anda tidak dapat mengubahnya menjadi dapat dikonfigurasi

Jika Anda menggunakan metode

undefined

Code language: JavaScript (javascript)
_7 untuk mengubah atribut apa pun selain yang dapat ditulis, Anda akan mendapatkan kesalahan. atau contoh

'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); Object.defineProperty(person, 'ssn', { configurable: true });

Code language: JavaScript (javascript)

Keluaran

TypeError: Cannot redefine property: ssn

Code language: JavaScript (javascript)

Secara default, atribut

'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); delete person.ssn;

Code language: JavaScript (javascript)
_0 dari semua properti yang didefinisikan pada objek adalah

delete person.age; console.log(person.age);

Code language: CSS (css)
8. t berarti Anda dapat mengulangi semua properti objek menggunakan

'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); Object.defineProperty(person, 'ssn', { configurable: true });

Code language: JavaScript (javascript)
2 loop seperti ini

let person = {}; person.age = 25; person.ssn = '012-38-9119'; for (let property in person) { console.log(property); }

Code language: JavaScript (javascript)

Keluaran

age ssn

Berikut ini membuat properti

TypeError: Cannot delete property 'ssn' of #<Object>

Code language: PHP (php)
4 tidak dapat dihitung dengan menyetel atribut

'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); delete person.ssn;

Code language: JavaScript (javascript)
0 ke

'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); delete person.ssn;

Code language: JavaScript (javascript)
7

let person = {}; person.age = 25;

Code language: JavaScript (javascript)
0

Keluaran

let person = {}; person.age = 25;

Code language: JavaScript (javascript)
_1

2) Properti pengakses

Mirip dengan properti data, properti pengakses juga memiliki atribut

delete person.age; console.log(person.age);

Code language: CSS (css)
5 dan

let person = {}; person.age = 25;

Code language: JavaScript (javascript)
8

Tetapi properti pengakses memiliki atribut

'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); Object.defineProperty(person, 'ssn', { configurable: true });

Code language: JavaScript (javascript)
_8 dan

'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); Object.defineProperty(person, 'ssn', { configurable: true });

Code language: JavaScript (javascript)
9, bukan

delete person.age; console.log(person.age);

Code language: CSS (css)
4 dan

delete person.age; console.log(person.age);

Code language: CSS (css)
3

Saat Anda membaca data dari properti pengakses, fungsi

'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); Object.defineProperty(person, 'ssn', { configurable: true });

Code language: JavaScript (javascript)
8 dipanggil secara otomatis untuk mengembalikan nilai. Nilai pengembalian default dari fungsi

'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); Object.defineProperty(person, 'ssn', { configurable: true });

Code language: JavaScript (javascript)
8 adalah

undefined

Code language: JavaScript (javascript)
0

Jika Anda menetapkan nilai ke properti accessor, fungsi

'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); Object.defineProperty(person, 'ssn', { configurable: true });

Code language: JavaScript (javascript)
9 dipanggil secara otomatis

Untuk menentukan properti pengakses, Anda harus menggunakan metode

undefined

Code language: JavaScript (javascript)
7. atau contoh

let person = {}; person.age = 25;

Code language: JavaScript (javascript)
_2

Keluaran

let person = {}; person.age = 25;

Code language: JavaScript (javascript)
_3

Dalam contoh ini

  • Pertama, tentukan objek

    undefined

    Code language: JavaScript (javascript)
    _1 yang berisi dua properti.

    undefined

    Code language: JavaScript (javascript)
    2 dan

    undefined

    Code language: JavaScript (javascript)
    3
  • Kemudian, tambahkan properti

    let person = {}; person.age = 25; person.ssn = '012-38-9119'; for (let property in person) { console.log(property); }

    Code language: JavaScript (javascript)
    _0 ke objek

    undefined

    Code language: JavaScript (javascript)
    1 sebagai properti accessor

Di

let person = {}; person.age = 25; person.ssn = '012-38-9119'; for (let property in person) { console.log(property); }

Code language: JavaScript (javascript)
_2 properti accessor

  • 'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); Object.defineProperty(person, 'ssn', { configurable: true });

    Code language: JavaScript (javascript)
    _8 mengembalikan nama lengkap yang merupakan hasil penggabungan dari

    undefined

    Code language: JavaScript (javascript)
    2,

    let person = {}; person.age = 25; person.ssn = '012-38-9119'; for (let property in person) { console.log(property); }

    Code language: JavaScript (javascript)
    5, dan

    undefined

    Code language: JavaScript (javascript)
    3
  • Metode

    'use strict'; let person = {}; Object.defineProperty(person, 'ssn', { configurable: false, value: '012-38-9119' }); Object.defineProperty(person, 'ssn', { configurable: true });

    Code language: JavaScript (javascript)
    _9 memisahkan argumen dengan spasi dan menetapkan properti

    undefined

    Code language: JavaScript (javascript)
    2 dan

    undefined

    Code language: JavaScript (javascript)
    3 sebagai bagian yang sesuai dari nama
  • Jika nama lengkap tidak dalam format yang benar i. e. , nama depan, spasi, dan nama belakang, itu akan menimbulkan kesalahan

Tentukan beberapa properti. age ssn0

Di ES5, Anda dapat menentukan beberapa properti dalam satu pernyataan menggunakan metode

age ssn

0. atau contoh

let person = {}; person.age = 25;

Code language: JavaScript (javascript)
_4

Keluaran

let person = {}; person.age = 25;

Code language: JavaScript (javascript)
5

Dalam contoh ini, kami mendefinisikan tiga properti data.

age ssn

2,

age ssn

3, dan

age ssn

4, dan satu properti pengakses

age ssn

5 untuk objek

age ssn

6

Deskriptor properti objek JavaScript

Metode 

age ssn

7 memungkinkan Anda untuk mendapatkan objek deskriptor dari sebuah properti. Metode

age ssn

_7 membutuhkan dua argumen

  1. Sebuah Objek
  2. Sebuah properti dari objek

Ini mengembalikan objek deskriptor yang menjelaskan properti. Objek deskriptor memiliki empat properti. dikonfigurasi, enumerable, ditulis, dan nilai

Contoh berikut mendapatkan objek deskriptor dari properti

age ssn

2 dari objek

age ssn

6 pada contoh sebelumnya

Bagaimana cara mengakses banyak properti dalam objek JavaScript?

Anda dapat mengakses properti objek dalam JavaScript dengan 3 cara. .
Pengakses properti titik. obyek. Properti
Akses properti tanda kurung siku. objek['properti']
Penghancuran objek. const { properti } = objek

Bagaimana cara mendapatkan semua properti dari objek JavaScript?

getOwnPropertyNames() Objek. getOwnPropertyNames() metode statis mengembalikan array dari semua properti (termasuk properti non-enumerable kecuali yang menggunakan Simbol) yang ditemukan langsung di objek yang diberikan.

Bagaimana cara mengakses banyak nilai dalam objek JavaScript?

JavaScript tidak mendukung fungsi yang mengembalikan banyak nilai. Namun, Anda dapat menggabungkan beberapa nilai ke dalam larik atau objek dan mengembalikan larik atau objek . Gunakan sintaks penugasan yang merusak untuk membongkar nilai dari larik, atau properti dari objek.

Bagaimana Anda menampilkan semua properti dari suatu objek?

Untuk mendapatkan semua properti sendiri dari suatu objek dalam JavaScript, Anda dapat menggunakan Objek. metode getOwnPropertyNames() . Metode ini mengembalikan array yang berisi semua nama properti enumerable dan non-enumerable sendiri yang ditemukan langsung pada objek yang diteruskan sebagai argumen.