Recent Posts
Recent Comments
Link
Today
Total
05-20 10:55
관리 메뉴

채린씨의 티스토리

[JavaScript] 38. Math 본문

자료구조, 알고리즘/JavaScript 기초 문법

[JavaScript] 38. Math

채린씨 2022. 3. 14. 23:39

* Math

- 표준 Built-in 객체로써 수학적인 연산을 위한 속성 값과 메서드 제공

- Math는 생성자 함수가 아니며, 모든 속성과 메서드는 정적이므로 Math.function()으로 언제든지 호출 가능

 

* 최대/최소/절댓값

- 최댓값: Math.max(x)

- 최솟값: Math.min(x)

- 배열을 인수로 받아 최대/최소를 산출하려면 apply 함수 혹은 스프레드 문법 사용 필요

- 절댓값: Math.abs(x)

/* max, min을 이용해서 최댓값, 최솟값 구하기 */
console.log(Math.max(1, -1)); // output: 1
console.log(Math.min(1, -1)); // output: -1
console.log(Math.max(1, -1, 5, 23, 17, -4)); // output: 23
console.log(Math.min(1, -1, 5, 23, 17, -4)); // output: -4

/* 배열을 인수로 받아 최대/최소를 산출하려면 apply 함수 혹은 스프레드 문법 사용 필요 */
let nums = [1, -1, 5, 23, 17, -4];
// apply 함수 사용
console.log(Math.max.apply(null, nums)); // output: 23
console.log(Math.min.apply(null, nums)); // output: -4
// 스프레드 문법 사용
console.log(Math.max(...nums));

/* abs를 이용해서 절댓값 구하기 */
console.log(Math.abs(1)); // output: 1
console.log(Math.abs(-1)); // output: 1
console.log(Math.abs(-Infinity)); // output: Infinity

- apply가.. 몬데요..: https://www.w3schools.com/js/js_function_call.asp

 

JavaScript Function call() Method

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

 

* 속성 및 랜덤

- 자연로그의 밑(e): Math.E

- 원주율): Math.PI

- 0과 1 사이의 난수 랜덤 값Math.random()

/* Math 속성(property) */
console.log(Math.E); // output: 2.718281828459045
console.log(Math.PI); // output: 3.141592653589793

/* random을 이용해서 '0과 1 사이'의 랜덤값 구하기 */
console.log(Math.random());

/* random을 이용해서 '0과 10 사이'의 랜덤값 구하기 */
console.log(Math.random() * 10);

/* random을 이용해서 '0과 10 사이의 정수' 랜덤값 구하기 */
console.log(Number.parseInt(Math.random() * 10));

/* random을 이용해서 '0과 100 사이의 정수' 랜덤값 구하기 */
console.log(Number.parseInt(Math.random() * 100));

 

* 제곱/제곱근/소수점 처리

- x의 y제곱: Math.pow(x, y), x**y

- x의 제곱근: Math.sqrt(x)

- 반올림해서 정수로: Math.round(x)

- 올림해서 정수로: Math.ceil(x)

- 내림해서 정수로: Math.floor(x)

/* pow와 ** 이용해서 제곱 구하기 */
console.log(Math.pow(2, 3)); // output: 8
console.log(2 ** 3); // output: 8

/* sqrt 이용해서 제곱근 구하기 */
console.log(Math.sqrt(64)); // output: 8
console.log(Math.sqrt(2)); // output: 1.4142135623730951

/* round 이용해서 소수점 이하 첫째자리에서 반올림해서 정수 만들기 */
console.log(Math.round(2.3)); // output: 2
console.log(Math.round(2.6)); // output: 3
console.log(Math.round(-2.3)); // output: -2
console.log(Math.round(-2.6)); // output: -3

/* ceil 이용해서 소수점 이하 첫째자리에서 올림해서 정수 만들기 */
console.log(Math.ceil(2.3)); // output: 3
console.log(Math.ceil(2.6)); // output: 3
console.log(Math.ceil(-2.3)); // output: -2!!! (더 큰 수를 만드는 것! 헷갈릴 수 있으니 조심!)
console.log(Math.ceil(-2.6)); // output: -2!!! (더 큰 수를 만드는 것! 헷갈릴 수 있으니 조심!)

/* floor 이용해서 소수점 이하 첫째자리에서 내림해서 정수 만들기 */
console.log(Math.floor(2.3)); // output: 2
console.log(Math.floor(2.6)); // output: 3
console.log(Math.floor(-2.3)); // output: -3!!! (더 작은 수를 만드는 것! 헷갈릴 수 있으니 조심!)
console.log(Math.floor(-2.6)); // output: -3!!! (더 작은 수를 만드는 것! 헷갈릴 수 있으니 조심!)

 

 

 

'자료구조, 알고리즘 > JavaScript 기초 문법' 카테고리의 다른 글

[JavaScript] 40. N차원 Array  (0) 2022.03.15
[JavaScript] 39. Date  (0) 2022.03.15
[JavaScript] 37. Set  (0) 2022.03.14
[JavaScript] 36. Map  (0) 2022.03.14
[JavaScript] 35. Collection  (0) 2022.03.13
Comments