Skip to content
← Back to rules

unicorn/no-null スタイル

⚠️🛠️ A dangerous auto-fix is available for this rule for some violations.

何を行うか

null リテラルの使用を禁止し、代わりに undefined を使用することを推奨します。

なぜこれは悪いのか

null の代わりに undefined を使う理由がいくつかあります。

  • 実際の経験から、多くの開発者が nullundefined を不統一かつ互換的に使い分けているため、どちらを使うべきかを正確に理解している人はほとんどいません。
  • nullundefined の両方をサポートすると、入力検証が複雑になります。
  • null を使用すると、TypeScript の型定義が冗長になります:type A = {foo?: string | null}type A = {foo?: string} では後者の方が簡潔です。

このルールに対して 誤り なコードの例:

javascript
let foo = null;

このルールに対して 正しい コードの例:

javascript
let foo;

設定

このルールは、次のプロパティを持つ設定オブジェクトを受け取ります。

checkStrictEquality

type: boolean

default: false

true に設定された場合、このルールは null に対する厳密等価/非等価比較(=== および !==)もチェックします。

使用方法

設定ファイルまたは CLI でこのルールを 有効化 するには、次のようにします:

json
{
  "rules": {
    "unicorn/no-null": "error"
  }
}
bash
oxlint --deny unicorn/no-null

参考資料