Rumah  >  Artikel  >  hujung hadapan web  >  Contoh Kaedah Objek JavaScript

Contoh Kaedah Objek JavaScript

Susan Sarandon
Susan Sarandonasal
2024-11-05 13:26:02111semak imbas

JavaScript Object Methods Example

Contoh Kaedah Objek JavaScript.

  • Object.keys(obj): Mengembalikan tatasusunan nama harta benda yang boleh dikira sendiri (kunci).
const obj = { a: 1, b: 2, c: 3 };
console.log(Object.keys(obj));
// Output: ['a', 'b', 'c']
  • Object.values(obj): Mengembalikan tatasusunan nilai sifat terhitung objek itu sendiri.
const obj = { a: 1, b: 2, c: 3 };
console.log(Object.values(obj));
// Output: [1, 2, 3]
  • Object.entry(obj): Mengembalikan tatasusunan pasangan sifat berkunci rentetan terbilang objek itu sendiri [kunci, nilai].
const obj = { a: 1, b: 2, c: 3 };
console.log(Object.entries(obj));
// Output: [['a', 1], ['b', 2], ['c', 3]]
  • Object.isSealed(obj): Mengembalikan benar jika objek dimeterai, jika tidak palsu.
const obj = Object.seal({ a: 1 });
console.log(Object.isSealed(obj));
// Output: true
  • Object.assign(target, source): Menyalin nilai semua sifat terhitung daripada satu atau lebih objek sumber kepada objek sasaran. Ia mengembalikan objek sasaran.
const target = { a: 1 };
const source = { b: 2, c: 3 };
const result = Object.assign(target, source);
console.log(result);
// Output: { a: 1, b: 2, c: 3 }
  • Object.freeze(obj): Membekukan objek, menghalang sifat baharu daripada ditambahkan atau sifat sedia ada daripada dialih keluar atau dikonfigurasikan semula.
const obj = { name: 'Khabib' };
Object.freeze(obj);
obj.name = 'Bob'; // This won't change the value
console.log(obj.name); // Output: 'Khabib'
  • Object.seal(obj): Memeterai objek, menghalang sifat baharu daripada ditambahkan, tetapi membenarkan sifat sedia ada diubah suai.
const obj = { name: 'Alice' };
Object.seal(obj);
obj.name = 'Bob'; // This will update the value
obj.age = 25; // This won't add a new property
console.log(obj); // Output: { name: 'Bob' }
  • Object.create(proto): Mencipta objek baharu dengan objek dan sifat prototaip yang ditentukan.
const person = {greet() {console.log('Hello!');}};
const student = Object.create(person);
student.greet();
// Output: 'Hello!'
  • Object.defineProperty(obj, prop, descriptor): Mentakrifkan sifat baharu secara langsung pada objek atau mengubah suai sifat sedia ada.
const obj = {};
Object.defineProperty(obj, 'name', {
value: 'Alice',
writable: false });
console.log(obj.name); // 'Alice'
  • Object.defineProperties(obj, props): Mentakrifkan berbilang sifat baharu atau mengubah suai sifat sedia ada pada objek.
const obj = {};
Object.defineProperties(obj, {
name: { value: 'Cormier', writable: false },
age: { value: 30, writable: true } });
console.log(obj.name); // 'Cormier'
  • Object.isExtensible(obj): Menentukan sama ada objek boleh dipanjangkan (iaitu, sama ada sifat baharu boleh ditambah).
const obj = {};
console.log(Object.isExtensible(obj)); // true
Object.preventExtensions(obj);
console.log(Object.isExtensible(obj)); // false
  • Object.isFrozen(obj): Menentukan sama ada objek dibekukan (iaitu, tidak boleh dipanjangkan dan semua sifat tidak boleh ditulis).
const obj = Object.freeze({ name: 'Gregor' });
console.log(Object.isFrozen(obj));
// output: true
  • Object.hasOwn(obj, prop): Mengembalikan benar jika objek yang ditentukan mempunyai sifat yang ditentukan sebagai hartanya sendiri, walaupun nilai harta itu tidak ditentukan.
const obj = { name: 'Alice' };
console.log(Object.hasOwn(obj, 'name')); // true
console.log(Object.hasOwn(obj, 'age')); // false
  • Object.hasOwnProperty(prop): Menentukan jika objek mengandungi sifat yang ditentukan sebagai sifat langsung objek itu dan tidak diwarisi melalui rantai prototaip.
const obj = { name: 'Alice' };
console.log(obj.hasOwnProperty('name')); // true
console.log(obj.hasOwnProperty('age')); // false
  • Object.preventExtensions(obj): Menghalang sifat baharu daripada pernah ditambahkan pada objek.
const obj = {};
Object.preventExtensions(obj);
obj.name = 'Khabib'; // Won't be added
console.log(obj); // {}
  • Object.setPrototypeOf(obj, proto): Menetapkan prototaip (sifat [[Prototaip]] dalaman) objek yang ditentukan.
const proto = { greet() {console.log('Hello!');}};
const obj = {};
Object.setPrototypeOf(obj, proto);
obj.greet(); // 'Hello!'
  • Object.fromEntries(iterable): Mengubah senarai pasangan nilai kunci kepada objek.
const obj = { a: 1, b: 2, c: 3 };
console.log(Object.keys(obj));
// Output: ['a', 'b', 'c']
  • Object.getPrototypeOf(obj): Mengembalikan prototaip (sifat [[Prototaip]] dalaman) objek yang ditentukan.
const obj = { a: 1, b: 2, c: 3 };
console.log(Object.values(obj));
// Output: [1, 2, 3]
  • Object.getOwnPropertySymbols(obj): Mengembalikan tatasusunan semua sifat simbol yang terdapat pada objek.
const obj = { a: 1, b: 2, c: 3 };
console.log(Object.entries(obj));
// Output: [['a', 1], ['b', 2], ['c', 3]]
  • Object.getOwnPropertyDescriptor(obj, prop): Mengembalikan deskriptor sifat untuk sifat khusus objek tertentu.
const obj = Object.seal({ a: 1 });
console.log(Object.isSealed(obj));
// Output: true
  • Object.getOwnPropertyNames(obj): Mengembalikan tatasusunan semua sifat yang terdapat pada objek (termasuk sifat yang tidak boleh dikira).
const target = { a: 1 };
const source = { b: 2, c: 3 };
const result = Object.assign(target, source);
console.log(result);
// Output: { a: 1, b: 2, c: 3 }
  • Object.is(value1, value2): Membandingkan jika dua nilai adalah sama.
const obj = { name: 'Khabib' };
Object.freeze(obj);
obj.name = 'Bob'; // This won't change the value
console.log(obj.name); // Output: 'Khabib'
  • Object.getOwnPropertyDescriptors(obj): Mengembalikan semua deskriptor sifat sendiri bagi sesuatu objek.
const obj = { name: 'Alice' };
Object.seal(obj);
obj.name = 'Bob'; // This will update the value
obj.age = 25; // This won't add a new property
console.log(obj); // Output: { name: 'Bob' }

Atas ialah kandungan terperinci Contoh Kaedah Objek JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn