상세 컨텐츠

본문 제목

[JavaScript] Number.isInteger() 자바스크립트 정수판별

Coding/JS

by hwlink 2022. 5. 12. 19:23

본문

Number.isInteger()

Number.isInteger() 메서드는 주어진 값이 정수인지 판별합니다.

매개변수로 값을 받고 반환값으로는 Boolean을 반환합니다.

const value = '1'
Number.isInteger(value); // True

const value2 = 1
Number.isInteger(value); // False

해당코드는 리액트에서 선택한 배열을 선택해주어 이벤트를 발생시키는 로직입니다.

기존코드

CompareBox 자식 컴포넌트로 내려주는 부모 컴포넌트

  const [currTarget, setCurrTarget] = useState<number | null>(null)
 .
 .
 .
 . <중략>
 <CompareBox
     refImage = { 
     currTarget
      ? foodQueries[currTarget].data?.refPhoto
      : work.after
     }
     />

위 코드에서 refImage 안에 currTarget은 초기값이 null로 선언되어 있습니다. 해당 코드는 currTarget이 true일 때 foodQueries를 보냅니다. compareBox 자식 컴포넌트에서 0~N번째 존재. 1번 선택시 currTarget True 0번 배열 선택 시 false 즉 의도했던대로 이벤트가 발생하지 않습니다.

수정코드

  const [currTarget, setCurrTarget] = useState<number | null>(null)
 .
 .
 .
 . <중략>
 <CompareBox
     refImage = { 
     Number.isInteger(currTarget)
      ? foodQueries[currTarget].data?.refPhoto
      : work.after
     }
     />

Number.isInteger()로 정수 판별을 해주어 null과 숫자만 구분하게 해주어 의도한대로 작동시켰습니다.

'Coding > JS' 카테고리의 다른 글

[JavaScript] 음수로 배열접근 array.prototype.at()  (0) 2022.04.27
[JavaScript] JSON, Javascript Object  (0) 2022.04.24
[JavaScript] 완벽가이드 Hoisting  (0) 2022.02.20
[JavaScript] Syntactic Sugar  (0) 2022.01.09
[JavaScript] JS DOM  (0) 2022.01.02

관련글 더보기