Ho una funzione che può essere utilizzata solo all'interno di una classe e non voglio che sia accessibile al di fuori della classe.Come dichiarare la funzione locale all'interno della classe ES6?
class Auth {
/*@ngInject*/
constructor($http, $cookies, $q, User) {
this.$http = $http;
this.$cookies = $cookies;
this.$q = $q;
this.User = User;
localFunc(); // Need to create this function, and need it to be accessible only inside this class
}
}
Quello che ho fatto finora sta dichiarando la funzione di fuori della classe
function localFunc() {
return 'foo';
}
class Auth {
...
}
Tuttavia, questo non va bene in quanto inquina la funzione globale, tranne ho avvolto dentro IIFE. Quindi, c'è un modo per creare una funzione locale all'interno di una classe ES6?
Se si utilizza un caricatore di moduli ES6, dichiarare che la funzione al di fuori della classe non inquina l'ambito globale. È la strada da percorrere per garantire funzioni private in ES6 – CodingIntrigue
@ MichałPerłakowski Non penso che sia un duplicato, il [suggerito canonico] (https://stackoverflow.com/questions/22156326/private-properties-in-javascript-es6 -classes) si occupa di * stateful, proprietà specifiche dell'istanza * non funzioni/metodi. – Bergi