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)8Objek 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 operatordelete person.age; console.log(person.age);
Code language: CSS (css)0let person = {}; person.age = 25;
Code language: JavaScript (javascript)8 – menunjukkan jika properti dapat dikembalikan dalamdelete person.age; console.log(person.age);
Code language: CSS (css)2 loopdelete person.age; console.log(person.age);
Code language: CSS (css)3 – menentukan bahwa nilai properti dapat diubahdelete 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)8Dandelete person.age; console.log(person.age);
Code language: CSS (css)3 atribut disetel kedelete person.age; console.log(person.age);
Code language: CSS (css)8 untuk semua properti yang didefinisikan langsung pada objek. Nilai default atributdelete person.age; console.log(person.age);
Code language: CSS (css)_4 adalahundefined
Code language: JavaScript (javascript)0Contoh berikut membuat objek
undefined
Code language: JavaScript (javascript)_1 dengan dua propertiundefined
Code language: JavaScript (javascript)2 danundefined
Code language: JavaScript (javascript)3 dengan atribut yang dapat dikonfigurasi, enumerable, dan dapat ditulis diatur kedelete person.age; console.log(person.age);
Code language: CSS (css)8. Dan nilainya masing-masing ditetapkan keundefined
Code language: JavaScript (javascript)5 danundefined
Code language: JavaScript (javascript)6let person = { firstName: 'John', lastName: 'Doe' };
Code language: JavaScript (javascript)Untuk mengubah atribut properti apa pun, Anda menggunakan metode
undefined
Code language: JavaScript (javascript)7Metode
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;
Jika Anda menggunakan metode
undefined
Code language: JavaScript (javascript)7 untuk menentukan properti objek, nilai defaultdelete person.age; console.log(person.age);
Code language: CSS (css)5,let person = {}; person.age = 25;
Code language: JavaScript (javascript)8, dandelete 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 lainContoh 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)9let 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 kedelete person.age; console.log(person.age);
Code language: CSS (css)8, Anda dapat menghapusnya melalui operatordelete person.age; console.log(person.age);
Code language: CSS (css)0delete 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 propertiTypeError: Cannot delete property 'ssn' of #<Object>
Code language: PHP (php)4 ke dalamnya menggunakan metodeundefined
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 propertiTypeError: Cannot delete property 'ssn' of #<Object>
Code language: PHP (php)_4 menyebabkan kesalahanSelain 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
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 adalahdelete 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 inilet 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)7let person = {}; person.age = 25;
Code language: JavaScript (javascript)0Keluaran
let person = {}; person.age = 25;
Code language: JavaScript (javascript)_12) Properti pengakses
Mirip dengan properti data, properti pengakses juga memiliki atribut
delete person.age; console.log(person.age);
Code language: CSS (css)5 danlet person = {}; person.age = 25;
Code language: JavaScript (javascript)8Tetapi 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, bukandelete person.age; console.log(person.age);
Code language: CSS (css)4 dandelete person.age; console.log(person.age);
Code language: CSS (css)3Saat 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 adalahundefined
Code language: JavaScript (javascript)0Jika 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 otomatisUntuk menentukan properti pengakses, Anda harus menggunakan metode
undefined
Code language: JavaScript (javascript)7. atau contohlet person = {}; person.age = 25;
Code language: JavaScript (javascript)_2Keluaran
let person = {}; person.age = 25;
Code language: JavaScript (javascript)_3Dalam contoh ini
- Pertama, tentukan objek
undefined
Code language: JavaScript (javascript)_1 yang berisi dua properti.undefined
Code language: JavaScript (javascript)2 danundefined
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 objekundefined
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 dariundefined
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, danundefined
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 propertiundefined
Code language: JavaScript (javascript)2 danundefined
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 ssn
0Di ES5, Anda dapat menentukan beberapa properti dalam satu pernyataan menggunakan metode
age ssn
0. atau contohlet person = {}; person.age = 25;
Code language: JavaScript (javascript)_4Keluaran
let person = {}; person.age = 25;
Code language: JavaScript (javascript)5Dalam contoh ini, kami mendefinisikan tiga properti data.
age ssn
2,age ssn
3, danage ssn
4, dan satu properti pengaksesage ssn
5 untuk objekage ssn
6Deskriptor properti objek JavaScript
Metode
age ssn
7 memungkinkan Anda untuk mendapatkan objek deskriptor dari sebuah properti. Metodeage ssn
_7 membutuhkan dua argumen- Sebuah Objek
- 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 objekage ssn
6 pada contoh sebelumnya