[Javascript] ESLint에서 parseInt(string)은 왜 에러가 날까?

Katherine12·2022년 10월 18일
0

Node.js

목록 보기
2/2
post-thumbnail

오늘은 ESLint를 적용 한 후 마주한 오류 중 parseInt에 대해서 적어보려고 합니다.


parseInt(string) 만 적게 되면 위처럼 missing radix parameter 라고 뜨게 됩니다.
MDN을 보게 되면 정식 구문은 parseInt(string)/ parseInt(string, radix) 입니다.
string은 파싱 할 문자열이며 매개변수가 문자열이 아닌 경우 toString 하여 문자열로 반환하여 사용하게 되는데 공백 제외 첫문자열이 숫자로 변환이 안 될 경우 NaN을 반환합니다.
radix는 string의 진수를 나타내며 2~36 사이의 정수입니다. 이때 기본 값은 10이 아닙니다.
ECMAScript 3부터 radix 누락을 권장하지 않습니다. radix가 없을 경우 0x 또는 0X로 시작하는 문자열은 16진수로 간주 되며 그 외 문자열은 10진수로 간주하게 됩니다. radix를 명시 해야 해당 진법으로 실행하여 값을 도출해 냅니다.

ESLint에서 이것을 검출하는 것을 원치 않는 다면 .eslintrc.json"rules":{radix: ["error", "as-needed"]}을 추가 하면 무조건적으로 에러를 뱉는 것이 아니라 필요에 따라 에러를 뱉게 됩니다. "as-needed" 없이 "rules":{radix: "error"}만 쓰게 되면 radix가 없는 경우 무조건 에러를 뱉게 됩니다.


참고 문헌
MDN parseInt
ESLint Radix

profile
Node.js 와 친해지고 있는 서버개발자입니다 :)

0개의 댓글