Help us understand the problem. What is going on with this article?

ESLint v3.13.0

More than 3 years have passed since last update.

v3.12.0 | 次 v3.14.0

ESLint 3.13.0 がリリースされました。
いくつかの機能追加・バグ修正が行われています。

質問やバグ報告等ありましたら、お気軽にこちらまでお寄せください。


:bulb: 新しいルール

#6053: prefer-destructuring

JSCS Icon JSCS 互換ルールです。

ローカル変数にプロパティを代入する際に分割代入 (Destructuring Declarations/Assignments) を優先して使おう、というスタイル・ルールです。

/*eslint prefer-destructuring: error */

//✔ GOOD
const {foo, bar} = obj

//✘ BAD
const foo = obj.foo
const bar = obj.bar

:wrench: オプションが追加されたルール

#7564: object-shorthand avoidExplicitReturnArrows

関数本文がブロックであるアロー関数もメソッド記法で書くべし、というオプションが追加されました。

/*eslint object-shorthand: [error, always, {avoidExplicitReturnArrows: true}] */

//✔ GOOD
const a = {
    foo() {
        // do something.
    },
    bar: () => doSomething(),
}

//✘ BAD
const b = {
    foo: () => {
        // do something.
    },
}

:pencil: eslint --fix をサポートしたルール

#7540: no-unneeded-ternary

const foo = bar === 1 ? true : false
const baz = qux ? qux : boop

// ↓↓↓ gets fixed to ↓↓↓

const foo = bar === 1
const baz = qux || boop

#7702: operator-linebreak

foo
  && bar;

// ↓↓↓ gets fixed to ↓↓↓

foo &&
  bar

#7740: object-property-newline

const w = {x,
    y, z
}

// ↓↓↓ gets fixed to ↓↓↓

const w = {
    x,
    y,
    z
}

#7840: no-extra-label

A: while (true) {
    doSomething()
    break A
}

// ↓↓↓ gets fixed to ↓↓↓

while (true) {
    doSomething()
    break
}
mysticatea
ESLint のメンテナ。Vue.js の開発チームメンバー。JavaScript 言語仕様書 ECMA-262 や JavaScript 構文解析器 Acorn のコントリビューター。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away