Javascript

Moderators: jkien, Xilvo

Reageer
Gebruikersavatar
Berichten: 53

Javascript

Beste forumleden, ik heb hier een stukje javascript-code die ik niet helemaal begrijp. (ik ken niet veel van programmeren in het algemeen) Het is een onderdeel uit een blockchainprogramma, maar dit doet er niet zoveel toe denk ik.
 
code:




class Block {



 

constructor(index, previousHash, timestamp, data, hash)
{




 

this.index = index;




 

this.previousHash = previousHash.toString();




 

this.timestamp = timestamp;




 

this.data = data;




 

this.hash = hash.toString();




 

}



 

}




Wat de index, hash, previoushash, timestamp en data zijn dat weet ik allemaal. Het gaat me meer om wat een constructor, this. en .toString() betekent. Ik denk dat .toString() dient om een stuk tekst letterlijk weer te geven zoals die in het programma staat, maar ik ben dit niet zeker.
 
Alvast bedankt voor de hulp!

Gebruikersavatar
Moderator
Berichten: 9.974

Re: Javascript

Hier wordt een 'class' gedefinieerd.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/class
 
Een class is een abstractie, een lege huls die ingevuld moet worden. Dat is hier een 'Block'.
Je vertelt welke 'eigenschappen' het heeft.
Pas bij het maken van zo'n ding (aanroepen van de constructor) geef je mee wat die 'eigenschappen' zijn, zoals hier index, hash etc. 
 
Bij het maken geef je die waardes of eigenschappen mee:
var Blk1 = new Block(24,123, ....);
waarbij index van Blk1 de waarde 24 krijgt ('this')
 
'ToString()' maakt van b.v een getal (45.7) een string(45.7)
Ze zien er hetzelfde uit maar het eerste is een getal (waarmee je kunt rekenen), de tweede een reeks tekens, '45.7', niet anders dan 'abc & 4'
 
Ik hoop dat je er iets aan hebt; als je programmeren wilt leren zou ik niet meteen met dit onderwerp beginnen, als je bestaande programma's wilt doorgronden zonder te leren programmeren lijkt me dat eigenlijk onbegonnen werk. 

Berichten: 12.262

Re: Javascript

De constructor is een functie die automatisch wordt uitgevoerd zodra je de class ergens instantieert. Het is niet noodzakelijk een constructor te hebben, maar bij iets als javascript wel handig om bijvoorbeeld (lokale) variabelen te initieren en dergelijke. 
 
ToString is zoals bovengenoemd een ding om typecasting mee te doen. Als het gaat om een hash in bijvoorbeeld base-16 formaat kan het handig zijn dit te doen, gezien je in theorie een hash kunt hebben die enkel uit cijfers bestaat - meestal is het iets als '0235e8a7e09' oid, maar als er toevallig geen enkele letter in zit zou het anders als numeriek kunnen worden beschouwd... en als het eerste getal dan een 0 is gaat dat de mist in. 
Victory through technology

Gebruikersavatar
Berichten: 53

Re: Javascript

Dankuwel voor jullie duidelijke uitleg! Ik snap het nu wel denk ik. 
 
@Xilvo: Het is niet dat ik wil leren programmeren eigenlijk. Ik doe mijn eindwerk over Blockchain en een deel gaat erover hoe je zelf eentje zou kunnen creëren. mijn opdracht daarbij was om een bestaande javascript-code over blockchain proberen te verstaan. Dit zou dan ook helpen om de werking van de blockchain beter te begrijpen. 
 
Nogmaals bedankt voor de hulp  :)

Reageer