Utilizzo delle classi CoffeeScript

CoffeeScript è un linguaggio compilato in JavaScript. Il codice nei file .coffee non viene interpretato in fase di esecuzione, come JavaScript, ma viene compilato in file .js.

Sia che tu stia scrivendo per JavaScript per Node.js o qualsiasi implementazione del browser , CoffeeScript può essere scritto per qualsiasi tipo di JavaScript.

Fornisce una struttura di base nota come classe creata utilizzando prototipi JavaScript. CoffeeScript è un piccolo linguaggio che viene compilato in JavaScript.

Sotto quella strana patina di Java , JavaScript ha sempre avuto un cuore bellissimo. CoffeeScript è un tentativo di esporre le parti buone di JavaScript in modo semplice.

Utilizzo delle classi CoffeeScript 1

Come usare le classi in CoffeeScript?

Le classi possono essere dichiarate banalmente in CoffeeScript, che è un contrasto rinfrescante con JavaScript molto più dettagliato.

  • Digita prima la classe “Parola chiave”, seguita dal nome della tua classe.

I metodi, incluso il metodo del costruttore, sono scritti con il nome del metodo seguito da due punti. È necessario uno spazio vuoto prima di ogni nome di metodo. È quindi possibile utilizzare l’operatore funzione ( -> ).

classe TimeMachine
costruttore: ->

Per creare un’istanza di un oggetto, utilizzare la parola chiave new seguita dal nome della classe.

time_machine = new TimeMachine
  • Variabili di istanza

Le variabili di istanza iniziano con un simbolo @. Quindi possiamo avere un pilota.

classe TimeMachine
costruttore: (pilota) ->
@pilot = pilot
Puoi accedervi anche tramite la notazione a punti.

classe TimeMachine
costruttore: (pilota) ->
@pilot = pilot


time_machine = new TimeMachine "HG Wells"

console.log time_machine.pilot

Nell’esempio precedente, la stringa di HG Wells verrà stampata sulla console.

Invece di impostare @pilot = pilot, puoi scriverlo in forma abbreviata come segue:

classe TimeMachine
costruttore: (@pilot) ->
  • Eredità di classe

Per scrivere una sottoclasse è possibile utilizzare extends in questo modo:

la classe Tardis estende TimeMachine

la classe DeLorean estende TimeMachine

Diciamo che TimeMachine ha un metodo go con un parametro che è disconnesso quando Time Machine sta per viaggiare nel tempo.

classe TimeMachine
costruttore: (@pilot) ->
vai: (rumore) ->
rumore console.log

Ora andiamo a ogni volta che implementiamo la macchina e chiamiamo il metodo super.

la classe Tardis estende TimeMachine
vai: ->
super "vorp vorp"

la classe DeLorean estende TimeMachine
vai: ->
super "Un punto ventuno gigawatt!"

doctor_wife = nuovo Tardis "The Doctor"
doc_browns_wheels = new DeLorean "Marty"

doctor_wife.go ()
doc_browns_wheels.go ()

Quindi chiamando go () nei casi in cui entrambe le macchine del tempo stamperanno il loro rispettivo suono.

Utilizzo delle classi CoffeeScript 2

mixins

I mixin non sono qualcosa supportato nativamente da CoffeeScript, per la buona ragione che possono essere implementati in modo banale.

Ad esempio, qui ci sono due funzioni, extend () e include () che aggiungeranno rispettivamente le proprietà di classe e istanza a una classe.

estende = (obj, mixin) ->
obj [nome] = metodo per nome, metodo di mixin 
obj

include = (klass, mixin) ->
estendere klass.prototype, mixin

# Utilizzo
include Parrot,
isDeceased: true

(nuovo pappagallo) .è deceduto

I mixin sono un ottimo modello per condividere la logica comune tra i moduli quando l’ereditarietà non è adeguata. Il vantaggio che molti possono includere rispetto all’eredità da cui solo una classe può essere ereditata.

 

Potrebbe interessarti

Lascia un commento