eslint/no-sequences 제한
작동 방식
쉼표 연산자를 사용하는 것을 금지합니다.
왜 문제가 될까?
쉼표 연산자는 각 피연산자(왼쪽에서 오른쪽 순서로)를 평가하고 마지막 피연산자의 값을 반환합니다. 그러나 이는 종종 부수 효과를 가리고, 사용하는 경우 대부분 실수입니다.
옵션
allowInParentheses(기본값:true):false로 설정하면 괄호로 감싸져 있더라도 쉼표 연산자를 허용하지 않습니다.
예시
이 규칙에 부적절한 코드 예시:
javascript
((foo = doSomething()), val);
(0, eval("doSomething();"));
// 화살표 함수 본문은 중첩된 괄호가 필요함
const fn = () => (doSomething(), val);
// allowInParentheses: false일 경우
foo = (doSomething(), val);이 규칙에 적절한 코드 예시:
javascript
foo = (doSomething(), val);
(0, eval)("doSomething();");
// 조건문에서는 단일 추가 괄호만으로 충분함
do {} while ((doSomething(), !!test));
for (i = 0, j = 10; i < j; i++, j--) {}
// 화살표 함수 본문은 중첩된 괄호가 필요함
const fn = () => (doSomething(), val);구성
이 규칙은 다음 속성을 가진 구성 객체를 수락합니다:
allowInParentheses
type: boolean
기본값: true
이 옵션이 false로 설정되면, 표현식 시퀀스가 명시적으로 괄호로 둘러싸여 있어도 쉼표 연산자를 허용하지 않습니다. 기본값은 true입니다.
사용 방법
이 규칙을 활성화하려면 구성 파일이나 CLI에서 다음과 같이 사용할 수 있습니다:
json
{
"rules": {
"no-sequences": "error"
}
}bash
oxlint --deny no-sequences