unicorn/prefer-number-properties 제한
수행하는 작업
parseInt(), parseFloat(), isNan(), isFinite(), Nan, Infinity, -Infinity를 전역 변수로 사용하는 것을 금지합니다.
왜 좋지 않은가?
자바스크립트 2015(이전의 ECMAScript 2015)에서는 일관성을 위해 전역 변수를 Number 생성자로 이동하여 약간 개선하였습니다. 이 규칙은 전역 변수 사용을 제한하기 위해 이러한 방법의 사용을 강제합니다:
Number.parseInt()를parseInt()대신 사용Number.parseFloat()를parseFloat()대신 사용Number.isNaN()를isNaN()대신 사용 (약간 다른 동작을 가짐)Number.isFinite()를isFinite()대신 사용 (약간 다른 동작을 가짐)Number.NaN를NaN대신 사용Number.POSITIVE_INFINITY를Infinity대신 사용Number.NEGATIVE_INFINITY를-Infinity대신 사용
예시
이 규칙에 대한 잘못된 코드 예시:
javascript
const foo = parseInt("10", 2);
const bar = parseFloat("10.5");이 규칙에 대한 올바른 코드 예시:
javascript
const foo = Number.parseInt("10", 2);
const bar = Number.parseFloat("10.5");구성
이 규칙은 다음 속성을 가진 구성 객체를 수용합니다.
checkInfinity
type: boolean
기본값: false
true로 설정되면, Infinity와 -Infinity를 전역 변수로 사용하는 경우를 검사합니다.
checkNaN
type: boolean
기본값: true
true로 설정되면, NaN을 전역 변수로 사용하는 경우를 검사합니다.
사용 방법
설정 파일이나 커맨드 라인 인터페이스를 통해 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:
json
{
"rules": {
"unicorn/prefer-number-properties": "error"
}
}bash
oxlint --deny unicorn/prefer-number-properties