본문으로 바로가기

optional chaining(옵셔널 체이닝, ?.)과 관련된 eslint 규칙에 대해 알아보도록 하겠습니다.

{
  "rules": {
    "no-unsafe-optional-chaining": "error",
    "@typescript-eslint/prefer-optional-chain": "error"
  }
}

no-unsafe-optional-chaining

옵셔널 체이닝이 필요 없는 곳에 사용된 위치를 찾아주는 규칙입니다.
옵셔널 체이닝은 null, undefined가 될 수 있는 곳에 사용해야 합니다.

// bad
const obj = { name: "name" }
console.log(obj?.name)

@typescript-eslint/prefer-optional-chain

옵셔널 체이닝을 권장하는 규칙입니다.
불필요하게 && 연산자를 계속해서 사용하는 것보다 옵셔널 체이닝을 이용하여 가독성 있게 구현하도록 도와줍니다.

// bad
const msg = error && error.name && error.name.message;

// good
const msg = error?.name?.message;
반응형