LoginSignup
6
2

More than 3 years have passed since last update.

ESLint 7.8.0

Posted at

v7.7.0 | 次 v7.9.0

ESLint 7.8.0 がリリースされました。小さな機能追加とバグ修正が行われました。

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

🏢 日本語 Issue 管理リポジトリ
👫 日本語サポート チャット (招待リンク)
🏢 本家リポジトリ
👫 本家サポート チャット (招待リンク)


[PR] ESLint は開発リソースを確保するための寄付を募っています。
応援してくださると嬉しいです。


✨ 本体への機能追加

env.es2021 が追加されました

🔖 #13603

.eslintrc.js
module.exports = {
    env: {
        es2021: true,
    },
}

2つの新しいグローバル変数 WeakRefFinalizationRegistry を定義します。

論理演算の複合代入演算子をサポートしました

🔖 #13609, #13612, #13618

a1 &&= b1
a2 ||= b2
a3 ??= b3

これらの演算子の正規化は a1 = a1 && b1 ではなく a1 && (a1 = b1) です。つまり、短絡する場合は代入演算が発生しません。

これらの演算子には短絡動作 (short-circuit) があるため、今までは複合代入演算子をサポートしていませんでした。最近追加された ?? 演算子によって需要が出たため、短絡動作があっても複合代入演算子をサポートすることになりました。

この新しい構文を使用する場合、parserOptions.ecmaVersion オプションを 2021 に指定してください。

.eslintrc.js
module.exports = {
    parserOptions: {
        ecmaVersion: 2021,
    },
}

数値リテラルの桁区切りをサポートしました

🔖 #13609, #13574, #13581

const binary = 0b0000_1010_0101_1111
const octal = 0o012_666_755
const hex = 0xDEAD_BEAF
const decimal = 1_000_000_000

桁数の多い数値をアンダーバーで区切って読みやすくできます。

この新しい構文を使用する場合、parserOptions.ecmaVersion オプションを 2021 に指定してください。

.eslintrc.js
module.exports = {
    parserOptions: {
        ecmaVersion: 2021,
    },
}

💡 新しいルール

特になし

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

no-magic-numbers ignoreDefaultValues

🔖 #12611

デフォルト値にマジックナンバーを許可するオプションが追加されました。

/*eslint no-magic-numbers: [error, { ignoreDefaultValues: true }]*/

//✓ GOOD
const { PI = 3.14159265359 } = constants

Open Online Demo

id-length exceptionPatterns

🔖 #13576

正規表現で許可する名前を指定するオプションが追加されました。

/*eslint id-length: [error, { min: 3, exceptionPatterns: ["^(e|pi)$"] }]*/

//✓ GOOD
const e = 2.71828182846
const pi = 3.14159265359

//✘ BAD
const f = () => {}

Open Online Demo

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2