𝗖𝗼𝗻𝘀𝘁𝗿𝘂𝗰𝘁𝗼𝗿𝘀 katika JavaScript

Kuunda objects moja baada ya nyingine ni kazi ya polepole. Ikiwa unahitaji wanafunzi kumi wenye sifa (properties) zilezile, unapoteza muda kuandika kodi ileile mara kwa mara.

JavaScript inatatua hili kwa kutumia Constructor Functions.

Fikiria constructor kama ramani (blueprint). Ramani ya nyumba siyo nyumba, lakini unaitumia kujenga nyumba nyingi.

Jinsi inavyofanya kazi:

Constructor ni function maalum. Unatumia neno new kuunda objects kutoka kwake.

Mfano:

function Student(name, age, city) {
    this.name = name;
    this.age = age;
    this.city = city;
}

const student1 = new Student("John", 21, "Chennai");
const student2 = new Student("David", 22, "Madurai");

Kwa nini utumie hii?

  • Inaokoa muda.
  • Inazuia kurudia kodi.
  • Inatengeneza muundo wa kawaida kwa data zako.

Nafasi ya this:

Ndani ya constructor, neno this hurejelea object mpya unayotengeneza.

Ikiwa mwalimu anasema "darasa langu," neno "langu" linamrejelea mwalimu huyo mahususi. Katika kodi, this.name inarejelea jina la object mahususi uliyotengeneza hivi punde.

Nini hutokea unapotumia new?

Unapofanya const emp = new Employee("John", 50000), hatua nne hutokea:

  1. JavaScript inatengeneza object tupu.
  2. Neno this linaelekeza kwenye object hiyo mpya.
  3. Sifa (properties) zinaongezwa kwenye object.
  4. Object inakurudishiwa wewe.

Kuongeza Vitendo:

Objects zinaweza kufanya zaidi ya kushikilia data pekee. Zinaweza kufanya vitendo. Katika programu, vitendo hivi huitwa methods.

Mfano:

function Laptop(brand, ram) {
    this.brand = brand;
    this.ram = ram;
    this.showDetails = function() {
        console.log(this.brand, this.ram);
    };
}

Object ya Laptop sasa inashikilia data na function ya kuonyesha data hiyo.

Mbinu Bora:

  • Daima anza kwa herufi kubwa herufi ya kwanza ya constructor. Tumia Student, siyo student. Hii inawaambia watengenezaji wengine watumie neno new.
  • Daima tumia neno new. Ukilisahau, function itafanya kazi kama function ya kawaida na kuharibu kodi yako.

Ulinganifu:

Object Literals:

  • Nzuri kwa object moja tu.
  • Rahisi na ya haraka.
  • Haina ramani (blueprint).

Constructor Functions:

  • Nzuri kwa objects nyingi.
  • Inayoweza kutumika tena na iliyoandaliwa vizuri.
  • Inatumia mbinu ya ramani (blueprint).

Chanzo: https://www.w3schools.com/js/js_object_constructors.asp Chanzo: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/constructor Chapisho kamili: https://dev.to/annapoo/constructor-in-javascript-4nbm