반응형
숫자 표현
- 자바스크립트의 기본 데이터 타입 중 하나로 정수와 소수를 사용하며, 타입은 Number
- 16진수, 10진수, 8진수, 2진수의 표현이 가능
- 최대 표현 범위가 정해져 있다
- MIN_SAFE_INTEGER ~ MAX_SAFE_INTEGER를 벗어난 값은 계산 결과에 오차가 발생'
정수 | 결과 | 설명 |
Number.MAX_VALUE | 1.7976931348623157e+308 | 최대 정수 값 |
Number.MIN_VALUE | 5e-324 | 최소 정수 값 |
Number.MAX_SAFE_INTEGER | 9007199254740991 | 다룰 수 있는 최대 정수값 |
Number.MIN_SAFE_INTEGER | -9007199254740991 | 다룰 수 있는 최소 정수값 |
부정확한 결과로 반환 되는 수
- 계산 시 부적절한 결과로 반환되는 특별한 값이 존재
정수 | 결과 | 설명 |
NaN | NaN | 숫자가 아닌 값이나 부정확한 계산결과 |
Number.POSITIVE_INFINITY | infinity | 양이 무한값 |
Number.NEGATIVE_INFINITY | infinity | 음의 무한값 |
수 어림 계산
메서드 | 설명 | 겂 |
Math.round(값) | 반올림 | |
Math.floor(값) ~~값 |
버림 (값 이하 최대 정수값 반환) | Math.floor(-7.5) // -8 |
Math.ceil(값) | 올림 (값 이상 최소 정수 반환) | Math.ceil(-7.5) // -7 |
Math.trunc(값) | 정수 부분만을 반환 |
임의 수
- 임의의 확률을 활용하거나 애니메이션에 임의값을 부여하여 활용 가능
메서드 | 설명 |
Math.random() | 부동 소수점의 유사난수 반환 (0~1) |
source
// 0 ~ 1 수 반환
Math.random()
// 0 ~ 100 정수 반환
Math.floor(Math.random()*100)
// 10 ~ 20 정수 반환
10 + Math.floor(Math.random() * 10)
안전한 난수 사용
- 비밀번호와 같이 보안이 강화된 문자열을 생성할 시 crypto.getRandomValues메서드를 사용
- 인수에 타입 지정 배열과 값을 전달하면 값의 난수 배열을 생성함
메서드 | 반환 | 설명 |
crypto.getRandomValues(타입지정배열) | 배열 | 난수의 배열 반환 |
source
const random = crypto.getRandomValues(new Uint16Array(10))
let res = random.join('')
console.log(res); // 4923133590404124307110251442196092571196499725498
소수점 자리수 지정
메서드 | 반환 | 설명 |
숫자.toFixed([자리수]) | 문자 | 소수점 이하 자리수를 지정한 값을 반환 - 자리수가 줄어들 경우 근사치값을 반환 - 자리수가 늘어날 경우 0으로 채워 반환 |
숫자.toPrecision([자리수]) | 문자 | 값을 지정한 자리수의 정밀도로 반환 |
(12.235).toFixed(2); // ⇒ 12.23
(123.456).toFixed(1); //⇒ 123.5
(1.3).toFixed(4); // ⇒ 1.3000
(1234.56).toPrecision(3); // ⇒ 123
(0.3333).toPrecision(2); // ⇒ 0.33
숫자 계산 메서드
메서드 | 설명 | 예시 |
Math.abs(값) | 절대값 | |
Math.pow(값1, 값2) | 값1의 값2승계산 | Math.pow(2,3) // 8 |
Math.sign(값) | 값의 부호 계산 (음수-1, 양수 1, 0) | Math.sign(-2) // -1 |
Math.sqrt(값) | 제곱근 | Math.sqrt(16) // 4 |
Math.exp(값) | 지수 함수 | |
Math.log(값) | 지연 로그 계산 | |
Math.E | 지연 로그 반환 | Math.log(Math.E) // 지연로그 e는1 |
Math.PI | 원주율 | |
Math.cos(값) | 코사인 | |
Math.sin(값) | 사인 | |
Math.tan(값) | 탄젠트 | |
Math.acos(값) | 코사인 역함수 | |
Math.asin(값) | 사인 역함수 | |
Math.atan(값) | 탄젠트 역함수 | |
Math.atan2(y좌표, x좌표) | (x,y) 좌표가 이루는 각도 |
반응형
'JS > Javascript' 카테고리의 다른 글
[Javascript] 배열 (0) | 2024.01.20 |
---|---|
[Javascript] 문자 관련 메서드 (0) | 2024.01.20 |
[Javascript] 클래스 (0) | 2023.11.07 |
[Javascript] 구문 오류 및 예외 처리 (0) | 2023.11.07 |
[Javascript] 객체와 배열 다중 할당, 전개 연산자 (0) | 2023.11.02 |