Kezdőoldal » Számítástechnika » Programozás » Mi a különbség a kettő között?...

Mi a különbség a kettő között? (JavaScript)

Figyelt kérdés

class MyClassA {

myString = "foo";

}


class MyClassB {

constructor() {

this.myString = "foo";

}

}


2021. szept. 11. 08:18
 1/4 anonim ***** válasza:
0%

Amennyire én tudom jsben a classokhoz mindig kell a constructor. Lenyegeben olyan mint a functionoknel a parameterek, amikor meghivod a classt, erteket adhatsz neki:


class myClass {

constructor(numA, numB) {

this.numA = numA,

this.numB = numB,

}

addNumbers() {

return this.numA + this.numB;

}

}


var class = new myClass(5,10)

console.log(class.addNumbers())

2021. szept. 11. 09:05
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:

> Amennyire én tudom jsben a classokhoz mindig kell a constructor.


Nem, ez nem igaz. Ez teljesen valid kód:


class MyClassA {

myString = "foo";

}


const myClass = new MyClassA();

console.log(myClass.myString === "foo");

2021. szept. 11. 10:06
 3/4 anonim ***** válasza:
100%

Mind a két esetben kap egy field-et (belső változója az osztálynak) az osztályod. Lényegi különbség nincs, talán annyi, hogy az első esetben az inicializálás hamarabb fut le, mint a második esetben. Ez talán segít egy picit megérteni: [link]


Én egyedül akkor látom értelmét az elsőt használni, ha tényleg valami nagyon alap dolgot kell inicializálni (konstanst, nyelvi elemet, vagy amikor egy statikus osztályban összegyűjtesz a kód szempontjából releváns meta információkat).


Valamint itt egy kód is, amiből látszik, hogy mi fog történni: [link] (nézd meg a konzolt miután lefuttattad)

2021. szept. 11. 10:12
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
Köszi, szuper válasz!
2021. szept. 11. 14:29

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!