Number(), parseInt()

sseung-i·2022년 3월 15일
0

JS로그

목록 보기
4/14
post-thumbnail

Number()

  • 문자열이나 다른 값을 Number타입으로 변환
  • 숫자로 변환 불가 시 NaN을 반환
  • 소숫점도 가능
Number('123'); //123
Number('123') === 123; //true
Number('10.234') //10.234
Numver(5.34) //5.34
Number('unicorn'); //NaN
Number(undefined); //NaN
Number(null); //0
Number(''); //0
Number('-Infinity'); //-Infinity



parseInt()

Number.parseInt() === parseInt; //true

parseInt(string)
parseInt(string, radix)
  • string : 문자열이 아닐 경우 ToString(추상 연산)을 사용해 문자열로 변환
  • radix : 2~36의 string의 진수
  • radix에서의 숫자가 아닌 문자를 마주치는 경우 해당 문자 이전까지의 문자만 사용해 파싱하며 문제의 문자와 그 이후는 모두 무시

    radix를 생략하게되면?

    시작하는 문자의 진수로 이후도 해석 함
    => 입력 값이 "0x" 또는 "0X"(0과 대/소문자 X)로 시작하는 경우 radix를 16으로 간주하여 나머지 문자열을 16진수로 파싱

  • 문자열 인자를 파싱하여 특정 진수(수의 진법 체계에서 기준이 되는 값 / 2진수 10진수 16진수 등... )의 정수 or NaN을 반환

    function roughScale(x, base) {
      const parsed = parseInt(x, base);
      if (isNaN(parsed)) { return 0; }
      return parsed * 100;
    }
    
    console.log(roughScale(' 0xF', 16));
    // expected output: 1500
    
    console.log(roughScale('321', 2));
    // expected output: 0
  • 정수 값을 반환하기 위해 소수점 이하 값을 잘라냄

    parseInt(10.234) //10
    parseInt(10. 789) //10


공부하며 정리&기록하는 ._. 씅로그

profile
Front-end

0개의 댓글