Contents
접기
Math
수학과 관련된 값이나 함수를 제공한다.
- Math 에 선언된 상수
console.log(`원주율 : ${Math.PI}`);
console.log(`오일러 상수 : ${Math.E}`);
- Falsy & Truly
Falsy | Truly |
Falsy 값으로 판정하는 데이터 | Truly 값으로 판정하는 데이터 |
0, null, undefined, ' ' | [], 비어있지 않은 문자열, 0을 제외한 모든 숫자 |
- abs
절대값 반환
console.log(Math.abs(-1)); // 1
console.log(Math.abs('-2')); // 2
console.log(Math.abs(null)); // 0
console.log(Math.abs('')); // 0
console.log(Math.abs(' ')); // 0
console.log(Math.abs('Korea')); //NaN
console.log(Math.abs(undefined)); //NaN
console.log(Math.abs()); //NaN
console.log(Math.abs([])); // 0
console.log(Math.abs([1,-1])); //NaN

- ceil(n)
(올림) 주어진 숫자보다 크고 가까운 정수
console.log(Math.ceil(0.95)); // 1
console.log(Math.ceil(5.00001)); // 6
console.log(Math.ceil(5)); // 5
console.log(Math.ceil(-0.95)); // -0
console.log(Math.ceil(-5.00001)); // -5

- floor(n)
(내림) 주어진 숫자보다 작고 가까운 정수
console.log(Math.floor(0.95)); // 0
console.log(Math.floor(5.00001)); // 5
console.log(Math.floor(5)); // 5
console.log(Math.floor(-0.95)); // -1
console.log(Math.floor(-5.00001)); // -6

- trunc(n)
절삭(버림)
console.log(Math.trunc(0.95)); // 0
console.log(Math.trunc(5.00001)); // 5
console.log(Math.trunc(5)); // 5
console.log(Math.trunc(-0.95)); // -0
console.log(Math.trunc(-5.00001)); // -5

- round(n)
반올림
console.log(Math.round(0.95)); // 1
console.log(Math.round(5.00001)); // 5
console.log(Math.round(5)); // 5
console.log(Math.round(-0.95)); // -1
console.log(Math.round(-5.00001)); // -5
console.log(Math.round(-5.6)); // -6
console.log(Math.round(-5.5)); // -5 : - 0.5는 반올림 하지 않음
console.log(Math.round(-5.51)); // -6 : 0.51은 반올림 함
console.log(Math.round(5.5)); // 6 : 0.5는 반올림 함

* NaN, Infinity
console.log(0/0); // NaN
console.log(10/0); //Infinity(양의 무한대)
console.log(10/-0); // -Infinity(음의 무한대)

- min(n), max(n)
최소값, 최대값
console.log('-------------- max()');
console.log(Math.max(-1,5,3)); // 5
console.log(Math.max(-1,-5,-3)); // -1
console.log(Math.max()); // Infinity
console.log(Math.max(-0.95)); // -0.95
console.log('-------------- min()');
console.log(Math.min(-1,5,3)); // -1
console.log(Math.min(-1,-5,-3)); // -5
console.log(Math.min()); // Infinity
console.log(Math.min(-0.95)); // -0.95

[Q] ary = [1,5,3] 배열에 저장된 데이터의 최대값, 최소값을 구하려면?
let ary = [1,5,3];
console.log(Math.max(...ary)); // 5
console.log(Math.min(...ary)); // 1
- pow(n1,n2)
거듭제곱을 구하는 연산자
console.log(Math.pow(5, 3)); // 125
console.log(5 ** 3)
console.log(Math.pow(4, 0.5)); // 2
console.log(4 ** 0.5);
console.log(Math.pow(4, -2)); // 0.0625
console.log(Math.pow(-5, 3)); // -125
// console.log(-5 ** 3); // syntax 오류(연산자 우선순위 때문)
console.log((-5) ** 3);
console.log(Math.pow(-4, -2)); // 0.0625
console.log(Math.pow(-4, -0.5)); // NaN

- random()
난수 발생 (0 이상)
for(let i = 0; i < 5; ++i)
console.log(Math.random());

[Q] 0 ~ 50까지 (50포함 정수) 를 5번 출력하세요
for(let i = 0; i < 5; ++i){
console.log(Math.floor(Math.random() * 51)) // 곱해지는 범주만큼 개수가 만들어진다.
}

Number
숫자를 다루는 클래스
- 문자열 -> 숫자 변환
1) Number
let data = "2.5";
let temp = Number(data);
console.log(temp);
data = "2.5a7";
temp = Number(data); // NaN (변환불가)
console.log(temp);
2)parse__
console.log(parseInt(data)); // 2 (변환가능한 부분까지 변환)
console.log(parseFloat(data)); // 2.5
실수 64bit까지 다룬다.
console.log(`Float형 최댓값 : ${Number.MAX_VALUE}`)
console.log(`Float형 최솟값 : ${Number.MIN_VALUE}`)

'국비 교육 > 프론트엔드' 카테고리의 다른 글
[자바스크립트] classList, 예제- 다크모드 버튼 구현 (0) | 2024.03.09 |
---|---|
[자바스크립트] 회원가입 검증 예제 (0) | 2024.03.09 |
[자바스크립트] 함수 - 5 (BOM, DOM, DOM 예제) (0) | 2024.03.04 |
[자바스크립트] 함수 -3 (배열처리, 문자열처리) (0) | 2024.03.02 |