eslint/no-implicit-coercion 스타일
작동 방식
!!, +, ""+ 등의 연산자를 사용한 암시적 타입 변환을 금지합니다.
왜 문제가 되는가?
연산자를 사용한 암시적 타입 변환은 Boolean(), Number(), String()과 같은 명시적 타입 변환 함수를 사용하는 것보다 더 모호할 수 있습니다. 명시적 변환을 사용하면 의도가 더 명확해지고 코드가 더 가독성이 뛰어납니다.
예시
이 규칙에 위배되는 잘못된 예시:
javascript
var b = !!foo;
var n = +foo;
var s = "" + foo;이 규칙에 부합하는 올바른 예시:
javascript
var b = Boolean(foo);
var n = Number(foo);
var s = String(foo);구성
이 규칙은 다음 속성을 가진 구성 객체를 받습니다.
allow
type: string[]
허용할 연산자 목록입니다. 유효한 값: "!!", "~", "+", "-", "- -", "*"
boolean
type: boolean
기본값: true
true로 설정 시, 암시적 부울 타입 변환(예: !!foo)에 대해 경고합니다.
disallowTemplateShorthand
type: boolean
기본값: false
true로 설정 시, 문자열 변환에 템플릿 리터럴을 사용하는 것을 금지합니다(예: `${foo}`).
number
type: boolean
기본값: true
true로 설정 시, 암시적 숫자 타입 변환(예: +foo)에 대해 경고합니다.
string
type: boolean
기본값: true
true로 설정 시, 암시적 문자열 타입 변환(예: "" + foo)에 대해 경고합니다.
사용 방법
구성 파일 또는 CLI에서 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:
json
{
"rules": {
"no-implicit-coercion": "error"
}
}bash
oxlint --deny no-implicit-coercion