typescript - Operátor čárky pro resetování this
V následujícím kódu
var x = { f: function () { return this === window } };
(0, x.f)();
Používám konstrukci (0, x.f), aby se funkce spustila s this rovno Window (nebo undefined v přísném režimu).
Ale TypeScript říká
Levá strana operátoru čárky není použita a nemá žádné vedlejší účinky.
Ale ve skutečnosti existuje vedlejší účinek na this funkce, kterou volám.
Jak bych měl napsat svůj kód, aby se tato chybová zpráva neobjevovala?
Odpověď č. 1
Samotná nula opravdu nemá vedlejší účinky, ale čárkový operátor je má.
Takže možným řešením je přidat as any k 0:
var x = { f: function () { return this === window } };
(0 as any, x.f)();
