eslint/prefer-spread 스타일
작동 방식
변수 인수 함수 호출 시 apply() 대신 전개 연산자(...) 사용을 요구합니다.
왜 좋지 않은가?
ES2015 이전에는 변수 인수 함수를 호출하기 위해 Function.prototype.apply()를 사용해야 했습니다.
javascript
var args = [1, 2, 3, 4];
Math.max.apply(Math, args);ES2015 이후부터는 전개 구문을 사용하여 변수 인수 함수를 호출할 수 있습니다.
javascript
var args = [1, 2, 3, 4];
Math.max(...args);예시
이 규칙에 대해 잘못된 코드 예시:
javascript
foo.apply(undefined, args);
foo.apply(null, args);
obj.foo.apply(obj, args);이 규칙에 대해 올바른 코드 예시:
javascript
// 전개 구문 사용
foo(...args);
obj.foo(...args);
// `this` 바인딩이 다릅니다.
foo.apply(obj, args);
obj.foo.apply(null, args);
obj.foo.apply(otherObj, args);
// 인수 목록이 변수 인수가 아닙니다.
// 이러한 경우는 `no-useless-call` 규칙에서 경고됩니다.
foo.apply(undefined, [1, 2, 3]);
foo.apply(null, [1, 2, 3]);
obj.foo.apply(obj, [1, 2, 3]);사용 방법
설정 파일 또는 명령줄 인터페이스를 통해 이 규칙을 활성화하려면 다음을 사용하세요:
json
{
"rules": {
"prefer-spread": "error"
}
}bash
oxlint --deny prefer-spread