Usando classes CoffeeScript

CoffeeScript é uma linguagem que é compilada para JavaScript. O código nos arquivos .coffee não é interpretado em tempo de execução, como JavaScript, mas é compilado em arquivos .js.

Esteja você escrevendo para JavaScript para Node.js ou qualquer implementação de navegador , o CoffeeScript pode ser escrito para todo e qualquer tipo de JavaScript.

Ele fornece uma estrutura básica conhecida como uma classe criada usando protótipos JavaScript. CoffeeScript é uma linguagem pequena que é compilada em JavaScript.

Sob aquela estranha pátina de Java , o JavaScript sempre teve um coração bonito. O CoffeeScript é uma tentativa de expor as partes boas do JavaScript de uma maneira simples.

Como usar Classes no CoffeeScript?

As classes podem ser declaradas trivialmente no CoffeeScript, que é um contraste refrescante com o JavaScript muito mais detalhado.

  • Primeiro, digite a classe “Palavra-chave”, seguida pelo seu Nome da classe.

Os métodos, incluindo o método construtor, são gravados com o nome do método seguido por dois pontos. É necessário espaço em branco antes de cada nome de método. Você pode usar o operador de função ( -> ).

classe TimeMachine
construtor: ->

Para instanciar um objeto, use a palavra-chave new seguida pelo nome da classe.

time_machine = new TimeMachine
  • Variáveis ​​de instância

Variáveis ​​de instância começam com um símbolo @. Para que possamos ter um piloto.

classe TimeMachine
construtor: (piloto) ->
@pilot = pilot
Você também pode acessá-los através da notação de pontos.
classe TimeMachine
construtor: (piloto) ->
@pilot = pilot
time_machine = novo TimeMachine "HG Wells"
console.log time_machine.pilot

No exemplo anterior, a sequência HG Wells será impressa no console.

Em vez de definir @pilot = pilot, você pode escrevê-lo de forma abreviada da seguinte maneira:

Relacionado:  Como assistir a jogos de futebol no celular conectado à TV
classe TimeMachine
construtor: (@pilot) ->
  • Herança de Classe

Para escrever uma subclasse, você pode usar extensões como esta:

classe Tardis estende TimeMachine
classe DeLorean estende TimeMachine

Digamos que o TimeMachine tenha um método go com um parâmetro que é desconectado quando o Time Machine está prestes a viajar no tempo.

classe TimeMachine
construtor: (@pilot) ->
ir: (ruído) ->
ruído do console.log

Agora vamos a cada vez que implementamos a máquina e chamamos o super método.

classe Tardis estende TimeMachine
vá: ->
super "vorp vorp"
classe DeLorean estende TimeMachine
vá: ->
super "Um ponto vinte e um gigawatts!"
doctor_wife = nova Tardis "O Doutor"
doc_browns_wheels = novo DeLorean "Marty"
doctor_wife.go ()
doc_browns_wheels.go ()

Em seguida, chame go () nos casos em que as duas máquinas do tempo imprimirão seu próprio som.

Mixins

Os mixins não são suportados nativamente pelo CoffeeScript, pelo bom motivo de que eles podem ser implementados trivialmente.

Por exemplo, aqui estão duas funções, extend () e include () que adicionarão propriedades de classe e instância respectivamente a uma classe.

estender = (obj, mixin) ->
obj [nome] = método para nome, método de mixin 
obj
include = (classe, mixin) ->
estender klass.prototype, mixin
# Uso
incluem Parrot,
isDeceased: true
(novo Parrot) .isDeceased

Os mixins são um ótimo padrão para compartilhar lógica comum entre os módulos quando a herança não é adequada. A vantagem que várias podem incluir em comparação à herança, da qual apenas uma classe pode ser herdada.

 

Você pode estar interessado:

Deixe um comentário

Este website utiliza cookies para lhe proporcionar a melhor experiência de utilizador. Se continuar a navegar está a dar o seu consentimento para a aceitação dos referidos cookies e aceitação da nossa privacy policy, clique no link para mais informações. ACEPTAR

Aviso de cookies