Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Frontend Roadmap
- Vue3
- TypeScript 문법 소개
- 프로그래머스 데브코스 프론트엔드 TIL
- 백준 node.js
- 백준 js
- 인프런 자바스크립트 알고리즘 문제풀이
- 머쓱이
- 프로그래머스 K_Digital Training
- KDT 프로그래머스
- frontend roadmap study
- 모던 자바스크립트 TIL
- 프로그래머스 K_Digital Training 프론트엔드
- react 프로젝트 리팩토링
- 개발자 특강
- 모던 자바스크립트 Deep Dive TIL
- 모던 javascript Deep Dive
- useEffect return
- 리팩토링 회고
- useRef 지역 변수
- KDT 프로그래머스 데브코스 프론트엔드
- 우테캠 회고록
- 프로그래머스 데브코스
- 모던 자바스크립트 Deep Dive
- 투포인터알고리즘 js
- 모던 자바스크립트 딥다이브
- react customHook 예시
- K_Digital Training
- Vue3 Router
- 프로그래머스 데브코스 프론트엔드
Archives
- Today
- Total
프론트엔드 개발자의 기록 공간
[JavaScript DeepDive] 29장_Math 본문
표준 빌트인 객체인 Math는 수학적인 상수와 함수를 위한 프로퍼티와 메서드를 제공한다.
Math는 생성자 함수가 아니다. 따라서 Math는 정적 프로퍼티와 정적 메서드만 제공한다.
✍ Math 메서드
📌 Math.abs
Math.abs 메서드는 인수로 전달된 숫자의 절대값을 반환한다. 절대값은 반드시 0 또는 양수이어야 한다.
Math.abs(-1); // -> 1
Math.abs('-1'); // -> 1
Math.abs(''); // -> 0
Math.abs([]); // -> 0
Math.abs(null); // -> 0
Math.abs(undefined); // -> NaN
Math.abs({}); // -> NaN
Math.abs('string'); // -> NaN
Math.abs(); // -> NaN
📌 Math.round
Math.round 메서드는 인수로 전달된 숫자의 소수점 이하를 반올림한 정수를 반환한다.
Math.round(1.4); // -> 1
Math.round(1.6); // -> 2
Math.round(-1.4); // -> -1
Math.round(-1.6); // -> -2
Math.round(1); // -> 1
Math.round(); // -> NaN
📌 Math.ceil
Math.ceil 메서드는 인수로 전달된 숫자의 소수점 이하를 올림한 정수를 반환한다.
Math.ceil(1.4); // -> 2
Math.ceil(1.6); // -> 2
Math.ceil(-1.4); // -> -1
Math.ceil(-1.6); // -> -1
Math.ceil(1); // -> 1
Math.ceil(); // -> NaN
📌 Math.floor
Math.floor 메서드는 인수로 전달된 숫자의 소수점 이하를 내림한 정수를 반환한다. Math.ceil의 반대 개념
Math.floor(1.9); // -> 1
Math.floor(9.1); // -> 9
Math.floor(-1.9); // -> -2
Math.floor(-9.1); // -> -10
Math.floor(1); // -> 1
Math.floor(); // -> NaN
📌 Math.sqrt
Math.sqrt 메서드는 인수로 전달된 숫자의 제곱근을 반환한다.
Math.sqrt(9); // -> 3
Math.sqrt(-9); // -> NaN
Math.sqrt(2); // -> 1.414213562373095
Math.sqrt(1); // -> 1
Math.sqrt(0); // -> 0
Math.sqrt(); // -> NaN
📌 Math.random
Math.random 메서드는 임의의 난수(랜덤 숫자)를 반환한다. Math.random 메서드가 반환한 난수는 0에서 1미만의 실수다. 즉, 0은 포함되지만 1은 포함되지 않는다.
Math.random(); // 0에서 1 미만의 랜덤 실수(0.8208720231391746)
/*
1에서 10 범위의 랜덤 정수 취득
1) Math.random으로 0에서 1 미만의 랜덤 실수를 구한 다음, 10을 곱해 0에서 10 미만의
랜덤 실수를 구한다.
2) 0에서 10 미만의 랜덤 실수에 1을 더해 1에서 10 범위의 랜덤 실수를 구한다.
3) Math.floor로 1에서 10 범위의 랜덤 실수의 소수점 이하를 떼어 버린 다음 정수를 반환한다.
*/
const random = Math.floor((Math.random() * 10) + 1);
console.log(random); // 1에서 10 범위의 정수
📌 Math.pow
Math.pow 메서드는 첫 번째 인수를 밑으로, 두 번째 인수를 지수로 거듭제곱한 결과를 반환한다.
Math.pow(2, 8); // -> 256
Math.pow(2, -1); // -> 0.5
Math.pow(2); // -> NaN
Math.pow 메서드 대신 ES7에서 도입된 지수 연산자를 사용하면 가독성이 더 좋다.
// ES7 지수 연산자
2 ** 2 ** 2; // -> 16
Math.pow(Math.pow(2, 2), 2); // -> 16
📌 Math.max
Math.max 메서드는 전달받은 인수 중에서 가장 큰 수를 반환한다.
Math.max(1); // -> 1
Math.max(1, 2); // -> 2
Math.max(1, 2, 3); // -> 3
// 인수가 없는 경우
Math.max(); // -> -Infinity
// ES6 스프레드 문법
Math.max(...[1, 2, 3]); // -> 3
📌 Math.min
Math.min 메서드는 전달받은 인수 중에서 가장 작은 수를 반환한다.
Math.min(1); // -> 1
Math.min(1, 2); // -> 1
Math.min(1, 2, 3); // -> 1
// 인수가 없는 경우
Math.min(); // -> Infinity
// ES6 스프레드 문법
Math.min(...[1, 2, 3]); // -> 1
👨💻 가끔 코테에서 연산 관련한 문제에서 많이 사용되는 메서드들이다.
728x90
'모던 자바스크립트 Deep Dive' 카테고리의 다른 글
[JavaScript DeepDive] 31장_RegExp (0) | 2022.03.02 |
---|---|
[JavaScript DeepDive] 30장_Date (0) | 2022.03.02 |
[JavaScript DeepDive] 28장_Number (0) | 2022.02.28 |
[JavaScript DeepDive] 27장_배열 (0) | 2022.02.28 |
[JavaScript DeepDive] 26장_ES6 함수의 추가 기능 (0) | 2022.02.23 |
Comments