function myFunc(id: string) {
id = "(";
};
let id: string = ")";
if (id !== '(')
throw "Expected '(' in prototype";
myFunc(id);
if (id !== ')')
throw "Expected ')' in prototype";
Wenn ich die Änderung inline dann kann ich nicht den Fehler unterFehler TS2365: ‚! ==‘ Operator kann nicht auf Typen angewendet werden ‚("‘und‚‚)‘‘
error TS2365: Operator '!==' cannot be applied to types '"("' and '")"'.
Der Inhalt des Vergleichs ist egal. Eine beliebige Zeichenfolge a, basdasd, cqwe usw. kann anstelle von (und)
Können Sie beschreiben, was Sie hier erreichen möchten? – toskv
Vielleicht off-topic: Beachten Sie, dass das ID-Argument in 'myFunc' die ID-Variable außerhalb von' myFunc' überschattet. Als Ergebnis verändert 'myFunc' den Wert der 'globalen'' id' Variablen nicht, daher hat das Aufrufen keinen Effekt. –
Der Fehler bleibt auch nach der Behebung bestehen. Ich denke, es ist ein Fehler oder Einschränkungen mit Typskript Typ Verengung und Erweiterung. Der Nebeneffekt von "id", der in "myFunc" definiert ist, sollte "id" auf "string" erweitern, aber das ist eindeutig nicht der Fall. –