목차
1. Number Methods
2. Math Methods
1. Number Methods
- Number.isInteger(value) 주어진 값이 정수인지 판별.
- 반환 값: 주어진 값의 정수 여부를 나타내는 Boolean.
Number.isInteger(0); // true
Number.isInteger(1); // true
Number.isInteger(-100000); // true
Number.isInteger(99999999999999999999999); // true
Number.isInteger(0.1); // false
Number.isInteger(Math.PI); // false
Number.isInteger(NaN); // false
Number.isInteger(Infinity); // false
Number.isInteger(-Infinity); // false
Number.isInteger('10'); // false
Number.isInteger(true); // false
Number.isInteger(false); // false
Number.isInteger([1]); // false
- parseInt(string[, radix]) 문자열 인자의 구문을 분석해 특정 진수(수의 진법 체계에 기준이 되는 값)의 정수를 반환.
- 매개변수
- string: 분석할 값. 만약 string이 문자열이 아니면 문자열로 변환(ToSting 추상 연산) 후 계산. 문자열의 선행 공백은 무시함.
- radix: string이 표현하는 정수를 나타내는 2와 36사이의 진수(수의 진법 체계에 기준이 되는 값). 생략될경우 10진수로 취급함. 10진수일 경우에도 radix를 쓰는 것을 권장함.
- 반환 값: 주어진 문자열로부터 분석한 정수. 첫 글자를 숫자로 변환할 수 없다면 NaN을 반환.
- 매개변수
parseInt("15"); // 15
parseInt("15.123"); // 15
parseInt("15*3"); // 15
parseInt("-15"); // -15
parseInt("Hello") // NaN
parseInt(" 0xF", 16); // 15
parseInt(" F", 16); // 15
parseInt("17", 8); // 15
parseInt(15.99, 10); // 15
- parseFloat(value) 문자열을 분석해 부동소수점 실수로 반환.
- 반환 값: 주어진 값에서 분석한 부동소수점 수. 분석할 수 없으면 NaN.
parseFloat(3.14); //3.14
parseFloat('3.14'); //3.14
parseFloat('314e-2'); //3.14
parseFloat('0.0314E+2'); //3.14
parseFloat('3.14와 숫자가 아닌 문자들'); //3.14
parseFloat('FF2'); //NaN
- numObj.toFixed([digits]) 숫자를 고정 소수점 표기법으로 표기해 반환.
- 매개변수 digits(optional): 소수점 뒤에 나타날 자릿수. 0 이상 20 이하의 값을 사용할 수 있으며, 구현체에 따라 더 넓은 범위의 값을 지원할 수도 있음. 값을 지정하지 않으면 0을 사용.
- 반환 값: 고정 소수점 표기법을 사용하여 나타낸 수.
- 예외
- RangeError: digits가 너무 작거나 너무 클 때. 값이 0과 100사이의 값이라면 RangeError를 유발하지 않음. 구현체에 따라 더 크거나 작은 값을 지원할 수 있음.
- TypeError: Number가 아닌 객체에서 호출한 경우.
var numObj = 12345.6789;
numObj.toFixed(); // Returns '12346': 반올림하며, 소수 부분을 남기지 않습니다.
numObj.toFixed(1); // Returns '12345.7': 반올림합니다.
numObj.toFixed(6); // Returns '12345.678900': 빈 공간을 0으로 채웁니다.
2. Math Methods
- Math.min([value1[, value2[, ...]]]) 주어진 숫자들 중 가장 작은 값을 반환.
- 매개변수: 숫자형
- 반환 값: 주어진 숫자들 중 가장 작은 값. 만약 적어도 1개 이상의 인자값이 숫자형으로 변환이 불가능 한 경우 이 함수는 NaN 를 반환.
- Math.min([value1[, value2[, ...]]]) 주어진 숫자들 중 가장 큰 값을 반환.
- 매개변수: 숫자형
- 반환 값: 주어진 숫자들 중 가장 큰 값. 만약 적어도 1개 이상의 인자값이 숫자형으로 변환이 불가능 한 경우 이 함수는 NaN 를 반환.
console.log(Math.min(2, 3, 1)); // 1
console.log(Math.min(-2, -3, -1)); // -3
console.log(Math.max(1, 3, 2)); // 3
console.log(Math.max('hello', 'world')); // NaN
- Math.floor() 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환(소숫점 아래 버림).
- Math.round() 입력값을 반올림한 수와 가장 가까운 정수 값을 반환.
console.log(Math.floor( 45.95)); // 45
console.log(Math.floor(-45.95)); // -46
console.log(Math.round( 20.5 )); // 21
console.log(Math.round(-20.5 )); // -20
- Math.random() 0을 포함하면서 1 보다는 작은 범위의 의사랜덤(pseudo-random) 수를 부동소수점(floating-point)으로 반환하고, 이를 원하는 범위로 스케일(scale)할 수 있다. 난수(random number) 생성 알고리즘의 초기 시드(seed)는 구현(implementation)에서 선택하며 이는 사용자에 의해 선택되거나 초기화될 수 없다.
- Math.random()은 암호적으로 안전한 난수를 제공하지 않는다. 보안과 관련된 어떤 것에도 이를 사용하면 안된다. 대신 Web Crypto API, 정확하게는 window.crypto.getRandomValues() 메소드를 이용.
- 반환 값: 0 이상 1 미만의 부동 소수점 의사 난수.
// 0 (포함) and 1 (불포함) 난수를 반환
function getRandom() {
return Math.random();
}
// min (포함) 과 max (불포함) 사이의 난수를 반환
function getRandomArbitrary(min, max) {
return Math.random() * (max - min) + min;
}
// min (포함) 과 max (불포함) 사이의 임의 정수를 반환
// Math.round() 를 사용하면 고르지 않은 분포를 얻게된다!
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}
// min (포함) 과 max (포함) 사이의 임의 정수를 반환
function getRandomIntInclusive(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
//일정한 길이의 임의의 글자 반환
function getGUID(length) {
let alphabets = 'abcdefghijklmnopqrstuvwxyz';
let ans = '';
while(ans.length < length){
ans = ans + alphabets[Math.floor(Math.random() * alphabets.length)];
}
return ans;
}
- Math.abs(value) 주어진 숫자의 절대값을 반환.
Math.abs('-1'); // 1
Math.abs(-2); // 2
Math.abs(null); // 0
Math.abs(''); // 0
Math.abs([]); // 0
Math.abs([2]); // 2
Math.abs([1,2]); // NaN
Math.abs({}); // NaN
Math.abs('string'); // NaN
Math.abs(); // NaN
- Math.sqrt(value) 숫자의 제곱근을 반환
- Math.pow(base, exponent) 함수는 base를 exponent번 곱한 결과, 즉 base^(exponent)를 반환
Math.sqrt(9); // 3
Math.sqrt(2); // 1.414213562373095
Math.sqrt(1); // 1
Math.sqrt(0); // 0
Math.sqrt(-1); // NaN
Math.pow(7, 2); // 49
Math.pow(4, 0.5); // 2 (제곱근 4)
Math.pow(2, 1/3); // 1.2599210498948732 (세제곱근 2)
Math.pow(7, -2); // 0.02040816326530612 (1/49)
Math.pow(8, -1/3); // 0.5
Math.pow(-7, 2); // 49 (제곱하면 양수)
Math.pow(-7, 3); // -343 (세제곱은 음수일 수 있음)
Math.pow(-7, 0.5); // NaN (음수의 제곱근은 실수 범위에서 없음)
'JavaScript, HTML, CSS' 카테고리의 다른 글
[HTML, 코드 스테이츠]01. HTML, CSS 기초 (0) | 2019.09.01 |
---|---|
[JS, 코드 스테이츠]05. Closure, Parameter, new 키워드와 객체지향 JavaScript (0) | 2019.08.26 |
[JS, 코드 스테이츠]04. 변수의 전달, Scope (0) | 2019.08.23 |
[JS, 코드스테이츠]02. 문자열(String Methods), 배열(Array Methods) (0) | 2019.08.06 |
[JS, 코드 스테이츠]01. JavaScript 입문 (0) | 2019.07.28 |