WebStorm считает, что конструктор ошибок имеет нулевые аргументы - PullRequest
0 голосов
/ 05 июня 2019

Запуск WebStorm 2019.1 с языковым уровнем ECMAScript 6.

Если я сделаю следующее:

new Error('Foobar');

, он не выдаст никаких предупреждений.Но если я сделаю следующее:

class SomeError extends Error {
  constructor(message) {
    super(message);
  }      
}

Тогда WebStorm пожалуется на вызов супер-конструктора, говоря: Неверное количество аргументов, ожидается 0 .

Я такжепопытался использовать распространенные аргументы, такие как

constructor(...args) {
  super(...args);
}

Это дает те же результаты - 0 ожидаемых аргументов .

Проверка файла lib.es5.d.ts, интерфейсы для поиска ошибоккак это:

interface Error {
   name: string;
   message: string;
   stack?: string;
}

interface ErrorConstructor {
   new(message?: string): Error;
   (message?: string): Error;
   readonly prototype: Error;
}

declare var Error: ErrorConstructor;

Это выглядит правильно для меня.Так почему же IDE настаивает на том, что при расширении Error конструктор суперкласса не должен иметь никаких аргументов?Конечно, я могу сделать this.message = message; вместо этого, но мне любопытно, что происходит.Это проблема с IDE, с некоторыми из моих настроек совместимости на уровне языка, или я тупой?

1 Ответ

2 голосов
/ 05 июня 2019

Известная проблема, WEB-32758 исправлена ​​в предстоящей IDEA 2019.2

...