Sophie: Falsche Parametertypen

Beitrag lesen

Hallo zusammen,

ich überlege gerade, in welcher Weise man die Parameter innerhalb von Funktionen behandeln sollte.
Nach meinen Überlegungen wäre es nur in öffentlich zugänglichen Methoden (--> Revealing Module Pattern) sinnvoll die Parameter zu prüfen, da das mMn der einzige Punkt ist, an dem falsche Parametertypen vorkommen könnten (es steht euch frei mich eines Besseren zu belehren) – ich selbst werde ja schließlich meine Funktionen schon richtig aufrufen. Also:

Sollte man prüfen, ob im Parameter das Richtige drin ist, bevor man anfängt damit rumzuspielen?
z.B.: if (typeof args0 !== 'string') oder if (!(args0 instanceof MyClass))
(Möglicherweise kann mir auch jemand erklären, warum man bei typeof ständig den Identitätsoperator (===) sieht, obwohl ein einfacher Gleichheitsoperator (==) völlig ausreicht? Schließlich gibt typeof immer einen String zurück und case-sensitive sind beide Operatoren ...)

Und wenn was Falsches drin ist, was wäre dann sinnvoll zu tun?
Fehler in die Konsole schreiben, TypeError werfen, ... ?

Oder auch gar nicht prüfen? Nach dem Motto: Wenn nicht das übergeben wird, was erwartet wird, dann knallts eben.

Ob der Inhalt des Parameters überhaupt sinnvoll ist, ist eine andere Geschichte.

Liebe Grüße,
Sophie