sindresorhus/eslint-plugin-unicorn

Rule proposal: `no-return-prototype-method`

Open

#1,098 opened on Feb 11, 2021

View on GitHub
 (8 comments) (2 reactions) (0 assignees)JavaScript (5,022 stars) (468 forks)user submission
help wantednew rule

Description

It's easy to forget actually calling a prototype method which leads to possibly hard-to-debug errors.

Since e.g. many array methods accept a callback or only an optional parameter, this could be handled with an allowlist per global object, e.g. Array.prototype.map wouldnt need to be checked for.

Fail

function foo(myString) {
  return string.slice(3).toLowerCase
}

function foo(myArr) {
  return myArr.map(val => val ** 2).reverse
}

Pass

function foo(myString) {
  return string.slice(3).toLowerCase()
}

function foo(myArr) {
  return myArr.map(val => val ** 2).reverse()
}

Contributor guide