Cómo implementar un método privado en la clase ES6 con Traceur [duplicado]
Esta pregunta ya tiene una respuesta aquí:
Propiedades privadas en clases de JavaScript ES6 35 respuestasUtilizo el compilador Traceur para tener ventaja con las funciones de ES6 ahora.
Quiero implementar esto desde ES5:
function Animal() {
var self = this,
sayHi;
sayHi = function() {
self.hi();
};
this.hi = function() {/* ... */}
}
Actualmente traceur no es compatibleprivate
ypublic
palabras clave (de la armonía) Y la sintaxis de clase ES6 no permite usar simplesvar
(olet
) declaraciones en el cuerpo de la clase.
La única forma que encuentro es simular privates antes de la declaración de clase. Algo como:
var sayHi = function() {
// ... do stuff
};
class Animal {
...
Es mejor que nada, pero como se esperaba, no puede pasar correctamentethis
al método privado sinapply
-ing obind
-siempre cada vez.
Entonces, ¿hay alguna posibilidad de usar datos privados en la clase ES6 compatible con el compilador traceur?