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?
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.
Tags und Links javascript class ecmascript-6