Fungsi Pembina vs. Kilang: Bilakah Anda Harus Menggunakan Setiap Dalam JavaScript?

DDD
Lepaskan: 2024-11-17 12:15:04
asal
718 orang telah melayarinya

Constructor vs. Factory Functions: When Should You Use Each in JavaScript?

Memahami Fungsi Pembina dan Kilang dalam JavaScript

Fungsi pembina dan kilang ialah konsep asas dalam JavaScript untuk mencipta objek. Ia mempunyai tujuan yang berbeza dan mempunyai kelebihan yang berbeza bergantung pada keperluan.

Fungsi Pembina

Fungsi pembina ialah fungsi yang dipanggil dengan kata kunci baharu. Seruan ini mencipta objek baharu secara automatik, menetapkan kata kunci ini dalam fungsi kepada objek itu dan mengembalikan objek.

Fungsi Kilang

Tidak seperti fungsi pembina, fungsi kilang dipanggil seperti fungsi biasa. Walau bagaimanapun, mereka dianggap kilang jika mereka mengembalikan contoh objek baharu. Ini dilakukan secara manual dalam fungsi.

Bila Menggunakan Setiap Jenis Fungsi

Fungsi Pembina:

  • Diutamakan apabila objek yang akan dicipta mempunyai struktur dan tingkah laku yang telah ditetapkan.
  • Menggunakan sifat prototaip untuk menambah kaedah dan sifat kepada semua objek yang dicipta oleh pembina.

Fungsi kilang:

  • Sesuai apabila objek yang akan dibuat boleh berbeza dari segi jenis atau struktur.
  • Memberikan kefleksibelan yang lebih besar dengan membenarkan manipulasi tersuai objek sebelum kembali ia.
  • Boleh mengembalikan objek daripada jenis yang berbeza berdasarkan parameter.

Contoh

Berikut ialah contoh yang menunjukkan kedua-dua jenis fungsi:

// Constructor Function
function Person(name, age) {
  this.name = name;
  this.age = age;
}
Person.prototype.greet = function() {
  console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
}

// Factory Function
function createPerson(type) {
  switch (type) {
    case 'adult':
      return { name: 'John', age: 30 };
    case 'child':
      return { name: 'Mary', age: 5 };
  }
}
Salin selepas log masuk

Dalam contoh ini, fungsi pembina Orang digunakan untuk mencipta objek dengan nama dan umur yang ditetapkan sifat, dan kaedah salam. Fungsi kilang createPerson membolehkan lebih fleksibiliti dengan mengembalikan objek orang yang berbeza berdasarkan parameter jenis.

Atas ialah kandungan terperinci Fungsi Pembina vs. Kilang: Bilakah Anda Harus Menggunakan Setiap Dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan