Есть ли правило typescript-eslint, которое предупреждает вас, когда вы используете метод как логическое? - PullRequest
0 голосов
/ 10 июля 2020

В Javascript я иногда случайно пишу:

if (obj.method) {  // <-- bad
  ...
}

вместо

if (obj.method()) { // <-- good
  ...
}

Учитывая, что typescript-eslint поддерживает типизацию, существует ли правило, которое обнаруживает такое использование? Я бы сказал, что 99/100 раз я не пытаюсь использовать этот метод как логическое.

1 Ответ

1 голос
/ 31 июля 2020

Если вы включите опцию компилятора машинописного текста strictNullChecks (или опцию компилятора catch-all strict), TS выполнит эту c проверку автоматически!

Пример: https://www.typescriptlang.org/play/#code / CYUwxgNghgTiAEYD2A7AzgF3kgRgKwC54BveAWxAwAslgAKASiJySQhChXgF8AoXgJYAzeHVx4AdBWq0GJXvEXxe3IA

, чтобы использовать его как @, чтобы использовать его как @, чтобы использовать его в комментарии @ x Здесь вам помогут два правила typescript-eslint:

  • no-unnecessary-condition обеспечит, что все ваши условия действительно требуются (т.е. он поймает этот случай, потому что функция не допускает значения NULL).
  • strict-boolean-expressions гарантирует, что все ваши if условия являются логическими (т.е. он поймает этот случай, потому что функция не является логической).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...