sindresorhus/eslint-plugin-unicorn

Rule proposal: `no-unreadable-new-expression`

Closed

#1,603 opened on Nov 11, 2021

 (8 comments) (0 reactions) (0 assignees)JavaScript (468 forks)user submission
help wantednew rule

Repository metrics

Stars
 (5,022 stars)
PR merge metrics
 (Avg merge 1d 16h) (399 merged PRs in 30d)

Description

Description

  • Forbid access member from new expression.
  • Forbid complex constructor.

These cases may confuse new beginners.

Fail

const bar = new Foo().getBar();
const Bar = new Foo().Bar;
const Bar = new (Foo().Bar);
const bar = new foo.Bar();
const bar = (new foo).Bar();
const bar = new foo().Bar();
const bar = new (foo().Bar)();

Pass

const foo = new Foo();
const bar = foo.getBar();
const foo = new Foo()
const Bar = foo.Bar;
const {Bar} = foo;
const bar = new Bar();

Contributor guide