체인의정석

ParseInt() 를 사용하여 숫자타입으로 바꾸어서 비교하기 본문

개발/backend

ParseInt() 를 사용하여 숫자타입으로 바꾸어서 비교하기

체인의정석 2022. 5. 13. 19:14
728x90
반응형

일단 멀티시그 지갑의 경우 예전 버전이라 그런지 public으로 선언한 변수가 있었다.

 

항상 view 함수만을 사용하여 테스트코드를 짜왔기 때문에 이러한 부분이 오류가 났다.

 

        const transactionId_Object = await multiSigContract.transactionCount();
        const transactionId_Array = Object.values(transactionId_Object);
        console.log("transactionId_Array  >>>>>>>>>>", transactionId_Array);

        const transactionId = transactionId_Array[0];
        console.log("TXID >>>>>", transactionId);

여기서 transactionCount는 퍼블릭으로 선언된 변수의 값을 가져오는 것이다. 함수를 실행하고 나서 변화가 제대로 이루어졌는지를 체크하기 위하여 만든 코드이다.

 

여기에 대한 결과값은

transactionId_Array  >>>>>>>>>> [ '0x01', true ]
TXID >>>>> 0x01

이런식으로 갑이 나온다는 것이다.

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/values

 

Object.values() - JavaScript | MDN

Object.values() 메소드는 전달된 파라미터 객체가 가지는 (열거 가능한) 속성의 값들로 이루어진 배열을 리턴합니다. 이 배열은 for...in 구문과 동일한 순서를 가집니다. (for in 반복문은 프로토타

developer.mozilla.org

 

근데 그냥 object에서 바로 parseInt를 하면 숫자값이 나오는 것을 볼수 있었다.

parseInt(await multiSigContract.transactionCount(),10)

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/parseInt

 

parseInt() - JavaScript | MDN

parseInt() 함수는 문자열 인자를 파싱하여 특정 진수(수의 진법 체계에서 기준이 되는 값)의 정수를 반환합니다.

developer.mozilla.org

그 이유는 parseInt를 사용하면 나오는 첫번째 인자값을 문자열로 바꾼 후 이어서 나오는 매개변수로 파싱하기 때문이다.

 

그래서 Object의 첫번째 값을 가져와서 바로 문자열로 바꾸고 10 진수로 파싱을 해주는 것이다.

 

paseInt() 가 정말 만능인거 같아서 앞으로도 애용할 예정이다.

728x90
반응형
Comments