Wie deklariert man lokale Funktion innerhalb der ES6-Klasse?

8

Ich habe eine Funktion, die nur innerhalb einer Klasse verwendet werden kann und nicht außerhalb der Klasse zugänglich sein soll.

%Vor%

Was ich bisher getan habe, ist das Deklarieren der Funktion außerhalb der Klasse

%Vor%

Allerdings ist das nicht gut, da es die globale Funktion verschmutzt, außer dass ich es in IIFE eingepackt habe. Also, kann ich irgendwie eine lokale Funktion in einer ES6-Klasse erstellen?

    
lvarayut 17.11.2015, 15:00
quelle

2 Antworten

13

Nein, es gibt keine Möglichkeit, lokale Funktionen in class zu deklarieren. Sie können natürlich (statische) Hilfsmethoden deklarieren und sie mit Unterstrichpräfixen als "privat" markieren, aber das ist wahrscheinlich nicht das, was Sie wollen. Und Sie können die lokale Funktion immer innerhalb einer Methode deklarieren.

Aber wenn du es mehrmals brauchst, dann kannst du es nur neben dem class platzieren. Wenn Sie ein Skript schreiben, wird wie üblich ein IEFE benötigt. Wenn Sie ein ES6-Modul schreiben (was die bevorzugte Lösung ist), ist der Datenschutz trivial: einfach nicht export die Funktion.

    
Bergi 17.11.2015, 15:09
quelle
0

Sie könnten ein Symbol verwenden:

%Vor%     
Lee 17.11.2015 15:07
quelle

Tags und Links