e를 이용한 숫자 표현 방법

e뒤에3을 붙이면 0 3개가 뒤에 붙는다
1e3은 그래서 1000과 같음

반대로 e뒤에 -숫자를 붙이면 왼쪽으로 숫자만큼 소숫점 이동함
그래서 1e-6은 0.000001과 같음


0x(16진수) , 0b(2진수) , 0o(8진수)를 이용한 숫자 표현 방법

16진수 표현 방법

2진수 , 8진수 표현 방법

표현 방법은 다르지만 수는 같으니까 같다고 나옴(신기)


toString(base) 로 숫자 표현 하기

num.toString(base) 에서 base는 몇 진수인지를 나타낼지를 의미 함.

숫자 255를 base진법으로 표현한 후, 이를 문자형으로 변환해 버림.

base의 default값은 10이다.
base에 넣을 수 있는 수는 2~36까지인데,

base=36 (36진수) 활용

36진수의 경우 알파벳 전체가 숫자를 나타내는 데 사용된다.
url을 줄이는것과 비슷하게 숫자로 된 긴 식별자를 짧게 줄일 때 사용함


toFixed

toFixed는 가장 가까운 값으로 올림 혹은 버림해주고 , 문자열로 반환함.

toFixed를 이용하고 나서 다시 넘버타입으로 바꿔주면
숫자타입으로 쓸 수 있다.

무한 소수를 방지 하는데 toFixed가 쓰인다??

0.1 + 0.2 는 당연히 0.3일줄 알고 계산해봤더니, 이런 숫자가 나온다.
이렇게 나오는 이유는 0.1과 같은 숫자는 2진수로 변환되어 메모리에 저장이 되는데,
소숫점은 2진수로 표현하면 무한소수가 된다.

그래서 저런 결과가 나오는데, 저 현상을 해결해줄 수 있는게 toFixed

이렇게 활용하면 무한 소수를 방지 할 수 있음.


isNaN

isNaN(value) value를 Number타입으로 변환 후 , NaN인지 테스트 하는 메서드임


Number 타입으로 바꿔서 NaN가 안나오면 isNaN은 false를 반환함

반대로 Number 타입으로 바꿔서 NaN이 나오면 true를 반환함


isFinite

isFinite(value) value를 숫자로 변환하고 ,
변환한 숫자가 NaN , Infinity , -Infinity 가 아닌 일반 숫자인 경우
true를 반환함

문자열이 일반 숫자인지 검증하는데 사용되기도 함.(isNaN이랑 비슷함)

주의 해야 할 점

이렇게 빈 문자열이나 공백만 있는 문자열은 inFinite를 포함한 모든 숫자 관련
내장 함수에서 0으로 취급됨. 그래서 저렇게 넣으면 true가 나옴


Object.is(SameValue)

Object.is메서드는 ===보다 더 신뢰할만할 결과를 보여줌.


비트가 모두 0이더라도 부호를 나타내는 비트는 다르므로
0과 -0은 사실 다른 값이긴 함.


근데 보통 0 === -0은 true로 나옴

이런식의 비교는 자바스크립터 명세서에 SameValue라고 나와있음.
Object.is는 비교 결과가 엄밀하게 정확해야 하는 경우 쓰임.


parseInt , parseFloat

'19€ , '100px' , '12pt' 문자열 안에 정수인 숫자가 있을 경우

parseInt로 정수만 걸러 낼 수 있다.

'12.5em' , 12.3.4 문자열 안에 실수인 숫자가 있을 경우

parseFloat로 실수만 걸러 낼 수 있다.

문자를 만나기 전까지만 변환해준다.

parseInt(str , radix) 두번째 인수로

16진수, 2진수, 36진수 등등 문자열을 파싱할수 있음.

profile
Hello~~👋

0개의 댓글