Jump to content
danielhoifodt

Hva er best av prototypes(ES5) og classes (ES6) i javascript?

Recommended Posts

Hei,

holder på å lære meg OOP i javascript. Syntes dette er skikkelig gøy og elsker å lære om det. Føler det har åpnet nye veier for meg i programmering. 

 

Men hva liker dere best? Å bruke prototypes og funksjoner eller å bruke klasser?

 

Den nye måten er vel klasser... men de er ganske like. Tror man får litt mer funksjonalitet med klasser. Men har ikke utforsket begge så mye enda. Liker begge metoder. Men jeg vil gjerne vite av dere hva dere syntes er best?

 

Om det er noen javascript pro`s her.

 

Ha en fin kveld:)

Edited by danielhoifodt

Share this post


Link to post

JavaScript har ikke egentlig klasser. De tingene du nevner er samme ting med annen syntaks.

 

Den nye syntaksen er finere, men gjør ikke koden mer funksjonsrik. Mitt problem med den nye syntaksen er at det ikke er støtte for "private properties/funksjoner" enda. Dvs. at alle properties/funksjoner er synlig for alle. Hvis du vil unngå å eksponere implementasjonen så må du være litt kreativ.

 

På den gamle måten kan man enkelt utnytte "function scope" for å skjule implementasjonen. Det er en kjent "pattern" som fungerer selv om det også virker noe hacky.

 

Bruker du Babel eller lignende til å transformere moderne syntaks til ES5 så er du mer fri til å bruke eksperimentell syntaks. Skal du kode for nettlesere så er det ikke en dum idé å transformere koden uansett slik at den fungerer i eldre nettlesere.

Edited by ahw_

Share this post


Link to post

JavaScript har ikke egentlig klasser. De tingene du nevner er samme ting med annen syntaks.

 

Den nye syntaksen er finere, men gjør ikke koden mer funksjonsrik. Mitt problem med den nye syntaksen er at det ikke er støtte for "private properties/funksjoner" enda. Dvs. at alle properties/funksjoner er synlig for alle. Hvis du vil unngå å eksponere implementasjonen så må du være litt kreativ.

 

På den gamle måten kan man enkelt utnytte "function scope" for å skjule implementasjonen. Det er en kjent "pattern" som fungerer selv om det også virker noe hacky.

 

Bruker du Babel eller lignende til å transformere moderne syntaks til ES5 så er du mer fri til å bruke eksperimentell syntaks. Skal du kode for nettlesere så er det ikke en dum idé å transformere koden uansett slik at den fungere i eldre nettlesere.

Skjønner, da er det bare å vente på neste verjson. Forhåpenligvis kommer private. Men jeg liker hverfall klasse best sånn det er nå. Man slipper å tenke på prototype.

Share this post


Link to post
Annonse

Hvis jeg hadde kodet for nettlesere så ville jeg bare brukt Babel, "class", "private" og heller fokusert på å lage ting. Tror du også kan velge å bare transformere eksperimentell syntaks og beholde original ES6-syntaks.

 

Akkurat nå lager jeg en web service med Node.js, og der vil jeg ikke bruke Babel fordi jeg må ha full oversikt over hva koden gjør. Der har jeg nå en mindre vakker blanding av gammel og ny syntaks.

 

Mitt største problem med "enkle" JavaScript er at det krever mye av en å få all kode til å oppføre seg 100% riktig. Det er noe man må streve for mens andre språk har innebygd restriksjoner som sier ifra når man prøver å gjøre dumme ting. Spesielt når kodebasen blir større så blir det mer vanskelig å holde oversikten og passe på at alle variabler/objekter/properties er definert riktig, blir passert rundt riktig og blir sjekket på riktig måte.

Edited by ahw_

Share this post


Link to post

https://github.com/getify/You-Dont-Know-JS

Les, øv, kod. Og siden vi er inne på det, dette er et dårlig sted å få gode råd om koding på fordi alt tydeligvis omhandler hvor dårlig å kode selv er i forhold til å bare gjøre det i Wordpress, LUL.

Men vi har en fin Discord-server med norske programmerere av alle slag, bl.a noen sykt dyktige JS-folk: https://discord.gg/GcpyEUZ

Share this post


Link to post

https://github.com/getify/You-Dont-Know-JS

 

Les, øv, kod. Og siden vi er inne på det, dette er et dårlig sted å få gode råd om koding på fordi alt tydeligvis omhandler hvor dårlig å kode selv er i forhold til å bare gjøre det i Wordpress, LUL.

 

Men vi har en fin Discord-server med norske programmerere av alle slag, bl.a noen sykt dyktige JS-folk: https://discord.gg/GcpyEUZ

 

 

Har blitt litt koding i ferien. Har noen eksempler på det jeg har kodet på www.daniel.hoifodt.com/tester.html

Edited by danielhoifodt

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...