59
REVISTA LOCAWEB
let stang = new
RaceCar('Ford Ka', 150);
stang.printCurrentSpeed();
stang.goFast();
stang.printCurrentSpeed();
Um exemplo mais completo,
para uso em desenvolvimento de
jogos em JS, é a classe “Monstro”:
class Monstro {
constructor(name, health)
{
public name = name;
private health = health;
}
// Um identificador
seguido por uma lista de
argumentos define um método.
//Neste caso o método
"atacar".
atacar(target) {
log('O monstro ataca o
' + target);
}
get estaVivo() {
return private(this).
health > 0;
}
set health(value) {
if (value < 0) {
throw new Error('Saúde
deve ser não negativo.')
}
private(this).health =
value
}
// Inicializando o valor
de numero de ataques.
public numAtaques = 0;
// Incializando uma
constante para o alerta.
public const attackMessage
= 'O monstro acertou você!';
}
O novo JS também permite
herança em classes, desta forma:
class Base {}
class Derived extends Base
{}
let parent = {};
class Derived prototype
parent {}
Um exemplo bem simples,
para facilitar o acompanhamento
do código linha a linha:
class Usuario{
constructor(nome, email)
{
this.nome = nome;
if (email) {
this.email =
email;
}
}
saida(){
console.log("Olá,
meu nome é "+this.nome+" e
meu email é "+this.email);
}
}
Comandos no console para
testar a classe “Usuário”:
var Homero = new
Usuario("Homero", "homero@
atibaia.com.br");
Homero.saida(); // Olá, meu
nome é Homero e meu email é
homero@atibaia.com.brSobre o autor
Homero Ottoni é programador e
sócio-proprietário da empresa Make
Media de desenvolvimento web.
LW
Internet Explorer: funcionalidades do JavaScript, em geral, funcionam bem em qualquer browser de internet
[
A NOVA VERSÃO DO JAVASCRIPT 6.0
HARMONY REPRESENTA UM GRANDE
AVANÇO PARA A LINGUAGEM
]
Conclusão
A nova versão do JavaScript
6.0 – Harmony representa
um grande avanço para a
linguagem, ainda que algumas
funcionalidades esperadas pelos
desenvolvedores não tenham
sido implementadas. As que
foram são muito bem-vindas e
podem ajudar muito tanto na
velocidade de desenvolvimento
TXDQWR QD FRQíDELOLGDGH GR
código resultante.
Esta versão deve se tornar
uma alternativa à altura de
extensões como TypeScript,
CoffeeScript e outras.
Links de referência:
Classe Carro baseada neste
exemplo (com demo funcional):
ZZZHV íGGOH QHW KUXW U
.
Documentação Ecmascript:
wiki.ecmascript.org/doku.php.